可能重複:
Convert a string to number and back to string?加密字符串到數字在PHP
我有一個字符串,它看起來像:
AhgRtlK==
,我需要能夠加密並將此字符串解密爲可能如下所示的數字:
1275653444
這就像手機充電信貸(有些東西像)
編輯: 我想創建像移動電荷信用一些事情,包括信用卡 的價值,但加密
可能重複:
Convert a string to number and back to string?加密字符串到數字在PHP
我有一個字符串,它看起來像:
AhgRtlK==
,我需要能夠加密並將此字符串解密爲可能如下所示的數字:
1275653444
這就像手機充電信貸(有些東西像)
編輯: 我想創建像移動電荷信用一些事情,包括信用卡 的價值,但加密
我不認爲你理解問題的程度足以提出正確的問題。就我理解你的意思而言,這並不是很好的想法。假設一些代碼意味着500美元的信用。那麼,總是的意思是,今天,明天和永遠,即使我花了一些它。
所以你不要想要解密爲值的代碼。您需要識別具有餘額的唯一帳戶的代碼。 (有很好的算法可以做到這一點,它們通常基於HMAC。)
哇。我永遠無法猜測OP要使用憑單系統。如果它是正確的,真棒抓住。 – 2012-07-25 11:46:49
那請問是什麼方向:D – 2012-07-25 11:47:34
@SamyMassoud:這取決於你的實際需求,你永遠不會說。但基本思想是這樣的:你必須有一個數據庫。否則,沒有辦法跟蹤哪些代碼已被使用。所以你不妨使用卡片的隨機數字並在數據庫中輸入餘額。如果您有要求隨機數字不符合,那麼您可能需要一些其他解決方案。但是如果不知道你的實際需求,我們就無法分辨。 (四分之三的工作可能會弄清楚你的要求實際上是什麼,要做到這一點很重要。) – 2012-07-25 12:14:05
你可以使用ASCII值的字符串轉換成一個數字:
$integer = '';
foreach (str_split($string) as $char) {
$integer .= sprintf("%03s", ord($char));
}
return $integer;
將其轉換回你可以使用這個:
$string = '';
foreach (str_split($integer, 3) as $number) {
$string .= chr($number);
}
return $string;
你的意思是,你有一個字符串base64編碼,你想解碼? – Peon 2012-07-25 11:09:21
不,我的意思是我有字符串,我想加密它,但在數字 – 2012-07-25 11:10:50
你基本上正在尋找一個從基礎64到基數10的基礎轉換算法?問題很不清楚...... – deceze 2012-07-25 11:11:31