PHP crypt()函数每次都返回相同的加密字符串

dev*_*234 1 php encryption

我正在使用PHP进行加密,并在使用SALT时发现crypt()的这个错误.

这就是我使用它的方式.

echo crypt('hellow@stg', 'azraar'); //azbFcR.LdN/SM

echo crypt('hellow@stg1', 'azraar'); //azbFcR.LdN/SM

echo crypt('hellow@stg0', 'azraar'); //azbFcR.LdN/SM

echo crypt('hellow@stg2', 'azraar'); //azbFcR.LdN/SM
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在使用的SALT是azraar,并且每次打印azbFcR.LdN/SM

链接到crypt()doc,http://php.net/manual/en/function.crypt.php

我对PHP的这种行为感到困惑.这很奇怪?

Com*_*hip 6

http://php.net/manual/en/function.crypt.php:

标准的基于DES的crypt()返回salt作为输出的前两个字符.它也只使用str的前八个字符,因此以相同的八个字符开头的较长字符串将产生相同的结果(当使用相同的salt时).