0

可能重复:
将字符串转换为数字并返回字符串?

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

AhgRtlK==

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

1275653444

这就像电话费信用(类似的东西)

编辑:我想创建一些东西,比如包含信用卡价值但加密的移动收费信用

4

2 回答 2

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;
于 2012-07-25T11:23:13.377 回答
3

我认为您对问题的理解不足以提出正确的问题。就我理解你在说什么而言,这不是经过深思熟虑的。假设某些代码意味着 500 美元的信用额度。嗯,它总是意味着,今天,明天,永远,即使在我花了一些钱之后。

所以你想要解密为值的代码。您需要识别具有余额的唯一帐户的代码。(有很好的算法可以做到这一点,它们通常基于 HMAC。)

于 2012-07-25T11:35:23.633 回答