可能重复:
将字符串转换为数字并返回字符串?
我有一个看起来像这样的字符串:
AhgRtlK==
我需要能够将此字符串加密和解密为可能如下所示的数字:
1275653444
这就像电话费信用(类似的东西)
编辑:我想创建一些东西,比如包含信用卡价值但加密的移动收费信用
可能重复:
将字符串转换为数字并返回字符串?
我有一个看起来像这样的字符串:
AhgRtlK==
我需要能够将此字符串加密和解密为可能如下所示的数字:
1275653444
这就像电话费信用(类似的东西)
编辑:我想创建一些东西,比如包含信用卡价值但加密的移动收费信用
您可以只使用 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;
我认为您对问题的理解不足以提出正确的问题。就我理解你在说什么而言,这不是经过深思熟虑的。假设某些代码意味着 500 美元的信用额度。嗯,它总是意味着,今天,明天,永远,即使在我花了一些钱之后。
所以你不想要解密为值的代码。您需要识别具有余额的唯一帐户的代码。(有很好的算法可以做到这一点,它们通常基于 HMAC。)