phpmd532位加密
一般使用非对称睁唯慎加密,32位 md5足够了。
当验证密山慧码对不对时,使用密码明文 md5加密后与密文对比,一致则说悉敬明密码是对的
B. php md5加密 最多多少位
md5是一种散列函数。php 中md5加密结果默认长度是32 位,可将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法。该结果字符长度是固定的,而且是唯一的。示例:
<?php
$str="hellozho!";
echomd5($str);
//
$str2="!";
echomd5($str2);
//
?>
C. php 32位md5编码两次结果不一样!
首先你需要了解md5加密的字符串只要有一个位不同,结果就是不同的
PHP中对字符串的表示有两种形式
第一种是用单引号将字符串引起来,第二种是用双引号皮棚将字符串庆神引起来
这两种方式表达的字符串是不同的,单引号引起来的字符串就是字符串本身,而双引号会对字符燃差则串中的转义符号进行转义
你可以试一下在PHP中输出下面的例子:
echo"x61x62x63";//输出abc
echo'x61x62x63';//直接输出x61x62x63,不对内容进行转义
传值过来的是计算字符串x...的值,是不经过转义的
第二个图中直接用md5("")计算,双引号的内容是需要经过转义的
如果图2中用$md51=md5('f8');就跟图1是一个结果了
D. php中如何使用MD5码
首先介绍一下PHP中MD5函数的使用方法:
<?php
$pswd1=md5("cenusdesign");
echo $pswd1; //运行结果为:
$pswd2=md5("Cenusdesign");
echo $pswd2; //运行结果为:
?>
显然,经过md5加密后,原本“cenusdesign”转变成了一组32位的字符串,而且,即使是一个字母的大小写变化,这组字符串就会发生巨大的变化。
Cenus Design建议把用户注册时,将密码首先经过MD5转换,然后将转换加密后的数据库。在用户登陆时,也将密码先进行MD5转化,再和数据库中那组经过MD5加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对操作。
E. 为什么php注册,md5加密,密码为空也能注册成功
这是因为空字符串经过MD5后并不是空字符串,而是一察御个32位的字符串
这种情况下就不要用empty来判断了,而应该是 $password==md5("")
或者也可以在md5之前先用empty判断原始值,判断完后念没碰再进仔谈行md5加密
F. 用php将密码存入数据库,用什么方法进行加密
题主你可以使用 md5 或者 sha1 进行初步处理,但为了更加安全,请你同时加上两个 salt,一个静态 salt,一个动态的 salt。以 md5 为例:x0dx0a假设通过 POST 传来的密码为 $_POST['password'],在存入 DB 前先进行如下的操作:x0dx0a$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);x0dx0ax0dx0a为了保证动态 salt 的唯一性,可以这样操作:x0dx0a$dynamicSalt = hash('md5', microtime());x0dx0ax0dx0a对于动态的 salt 可以与生成的密码一起保存在 DB 中,而静态 salt 则可以直接放在类文件中(例如定义为一个静态属性即可)。x0dx0a首先谢谢题主采纳了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所读的源码可能比较老,所以并没使用上较新版本的加密方法,例如 bcrypt等。x0dx0a此外,第二点,感谢评论中几位前辈的提点,已经明白设置静态 salt 的意义并不大,生成一个较长的动态 salt 已然可以解决问题。x0dx0ax0dx0aLZ应该采用加盐HASH。x0dx0a如何“腌制”密码呢?x0dx0a=_,=x0dx0a正确的格式应该是,用户password+动态的saltx0dx0a动态的salt不能像2L所说的,使用microtime,因为时间在某些情况下不够随机,而且是可能被猜解的。x0dx0a这里推荐一个我用的加盐HASHx0dx0a$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));x0dx0a$password=sha1($register_password.$salt);x0dx0ax0dx0a解释:x0dx0a首先使用mcrypt,产生电脑随机生成的,专门用户加密的随机数函数。x0dx0a第二步,把得到的随机数通过base64加密,使其变长并且不利于猜解。x0dx0a第三步,把得出的盐拼接到密码的后面,再对其使用sha1进行哈希x0dx0a再把password存入到用户的数据库。x0dx0aPS:为何不用静态的salt?没有必要,使用一个动态随机足够长的盐足矣。x0dx0a为何不用MD5?因为长度不够。x0dx0a为何没有使用多次HASH?因为这样反而容易发生碰撞。x0dx0aHASH好之后怎么使用“腌制”好的密码?x0dx0a用户注册->提交密码->产生salt->腌制好的密码存入数据库->salt存入数据库。x0dx0a用户登录->提交密码->调用salt接到提交密码的后面->进行HASH->调用之前注册腌制好的密码->对比HASH值是否和这个密码相同
G. 在php5中md5在加密字符串后如何解密
MD5加密是不能逆运算的,现在的破解大都是穷尽法,就是有一个庞大的MD5码对照表放在那里,然后一个一个去对照着查。
H. java的32位MD5加密与php中的32位MD5加密结果不一样。求帮助。急急急
Java的字符串是unicode编码,不受源码文件的编码影响;而PHP的编码是和源码文件的编码一致,受源码编码影响。例中java字符数据在散列时的编码和php编码未能保持一致,我认为这是导致输出不同的“病理”
由于未知mad.toMd5的具体实现,问题直接成因应该在toMd5的String到byte[]转换时的编码上,或者未设置或者设置了错误的编码
但只要java的字符串先getBytes获得字节串,并和php源码编码一致,就能获得一致结果。
I. java的32位MD5加密与php中的32位MD5加密结果不一样.求帮助
PHP不是很懂、但是PHP和Java用MD5加密的结果是一样的、
我记得上次我还用Java调用了人家的PHP充值接口、其中有参数就是MD5加密的;
希望回答能给你带来帮助~
如果满意,请采纳,如还有疑问,可继续追问!
您也可以向我们团队发出请求,会有更专业的人来为您解答!
J. php md5加密 最多多少位
md5是一种散列函数。php
中md5加密结果默认长度是32
位,可将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法。该结果字符长度是固定的,而且是唯一的。示例:
<?php
$str="hello zho !";
echo md5($str);
//
$str2=" !";
echo md5($str2);
//
?>