在php中将字符串加密为数字

时间:2012-07-25 11:07:48

标签: php encryption credit-card

  

可能重复:
  Convert a string to number and back to string?

我有一个看起来像的字符串:

AhgRtlK==

我需要能够将此字符串加密和解密为可能如下所示的数字:

1275653444

就像电话费一样(有些像这样)

编辑: 我想创建一些包含信用卡价值的移动充值信用 但加密

2 个答案:

答案 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。)