2

在完成我的网站 java 登录程序和页面时,我决定通过 URL 将加密值传递给验证页面,作为额外的安全线。我有一个很久以前写的加密算法,我认识的人还没有破解过,所以我想使用它。但我需要字符才能正常工作。据我所知,PHP 没有 char 类型。所以我的问题是首先,它们是 char 类型,其次,是否可以将其转换为 int?旁注:登录是一个签名的小程序,因此所有页面都使用 PHP。编辑:忘了提到这只是加密的基础,我将添加到算法中。

4

3 回答 3

2

您可以通过 引用字符串中的$str字符$str[$index]

ord函数将返回一个字符的整数值:

$val = ord($str[$index]); 

chr函数的作用相反:

$char = chr($val);//$char == $str[$index]
于 2012-07-27T18:26:18.177 回答
1

您可以$s通过参考来逐个字符地访问字符串$s[$i]ord($s)获取一个字符的ASCII值,chr($n)获取一个ASCII值对应的字符。

除非您知道自己在做什么,否则不要使用自己的密码原语!使用 PHP 自己的已知强算法实现(例如 AES-256)。仅仅因为认识的人没有破解您的自定义算法并不意味着其他人不能。

于 2012-07-27T18:24:19.403 回答
0

PHP中没有char类型,并且string类型不容易转换为int. PHP 处理动态类型杂耍,因此不使用类型声明。

在旁注中,“还没有人破解[我的加密算法]”并不一定意味着将来有人不会。如果您要加密重要的东西,请使用标准的加密算法——它们之所以成为标准是有原因的。

于 2012-07-27T18:24:40.900 回答