我有一个看起来像的字符串:
AhgRtlK==
我需要能够将此字符串加密和解密为可能如下所示的数字:
1275653444
就像电话费一样(有些像这样)
编辑: 我想创建一些包含信用卡价值的移动充值信用 但加密
答案 0 :(得分:3)
您可以使用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;
答案 1 :(得分:3)
我认为你不能很好地理解这个问题,不能提出正确的问题。在某种程度上,我理解你在说什么,它没有经过深思熟虑。假设一些代码意味着500美元的信用。好吧,它总是总是意味着,今天,明天和永远,即使在我花了一些之后。
所以你不想要解密为值的代码。您需要用于标识具有余额的唯一帐户的代码。 (有很好的算法可以做到这一点,而且它们通常基于HMAC。)