由于项目需要,需要验证java使用MessageDigest类加密的密码,不太懂java,所以被java这几句话,鼓捣了大半天。才生成对应的php加密。
搜索时,以下文章给予了我参考:
java MessageDigest类的作用:https://blog.csdn.net/qq_35794278/article/details/80826267
正文:
Java 代码:
上面过程大概就是
- 使用sha1将password 生成摘要=》value
- digest()方法同时也将摘要重置。
- 向活跃的哈希运算上下文中填充数据:userName
- 再将value 填充进去,生成摘要
- 最后base64一下
Php
$pwd = "password";
$name = "zhangsan";
$value = hash('sha1',$pwd,true); // true:二进制
$ctx = hash_init('sha1');
hash_update($ctx, $name);
hash_update($ctx, $value);
echo base64_encode(hash_final($ctx,true));
// 结果:WyBPTAWC6dcFjpI3YcPf1V+mhjQ=