php 的加密规则咋写 求帮忙啊。。 生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java 的加密是这种的 不过我要php的 /** * 生成密文密码,生成随机的16位salt并经过1024次 sha-1 hash * @param plainPassword * 明文密码 * @return 16位salt密钥 + 40位hash密码 * @Date 2015-7-1 */ public String encryptPassword(String plainPassword) { byte[] salt = Digests.generateSalt(SALT_SIZE);//SALT_SIZE为 8 //对输入字符串进行sha1散列 经过1024次 sha-1 hash.HASH_INTERATIONS为 1024 byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS); //对salt进行hex编码生成string字符串,作为密码前半部分,对加盐、sha1加密后的密码hex编码生成后半部分密码 //这样即使是2个同样的明文密码,加密后的密文也是不同的,即使有密码碰撞库也无法找到 //获得16位salt密钥 + 40位hash密码 return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword); } /** * 生成随机的Byte[]作为salt. * @param numBytes * byte数组的大小 */ public static byte[] generateSalt(int numBytes) { Validate.isTrue(numBytes > 0, "numBytes argument must be a positive integer (1 or larger)", numBytes); byte[] bytes = new byte[numBytes]; random.nextBytes(bytes); return bytes; } PHP sha1 加密 sha1(要加密的数据)就好了类似于MD5加密 其实你要的是,相同的内容,加密之后的结果不一样。可以了解下password_hashhttp://www.php.net/manual/zh/function.password-hash.php 经过1024次 sha-1 hash.HASH_INTERATIONS为 1024 php 对这个条件怎么解决 字面意义就是循环 1024 次做 sha不过 sha 值是不可逆的,似乎并无浪费时间的必要 但是要和java 那边统一啊 天啊 。。难道真要做1024次sha1 嘛??头痛 那你就去看 Java 的说明 生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash java 给的说明就是这个啊 还有上边的那一串 java的加密代码 求大佬解答啊 难道真要for(i=0 i<1000;i++){sha1(字符串)}吗 感觉有点坑啊 $s = sha1(字符串);for(i=0 i<1000;i++){ $s = sha1($s); } 你发的Java代码貌似不完整 php168的job.php?job=digg&type=getnum&id=612错误,不清楚呀,给个方法吧 file_get_contents请求 php5.3.6与phpMyAdmin版本兼容问题怎么解决? 请教,有做过shopex的 限时抢购 插件么 js如何解码? deeoc 发布招聘php程序员若干 正则出现的问题 关于零宽断言 linux下部署遇到的路径问题,大家解答下,谢谢了!!!! php编码 js解码 SAE应用开发 求助,php解 织梦模板,后台左侧菜单无法显示
/**
* 生成密文密码,生成随机的16位salt并经过1024次 sha-1 hash
* @param plainPassword
* 明文密码
* @return 16位salt密钥 + 40位hash密码
* @Date 2015-7-1
*/
public String encryptPassword(String plainPassword) {
byte[] salt = Digests.generateSalt(SALT_SIZE);//SALT_SIZE为 8
//对输入字符串进行sha1散列 经过1024次 sha-1 hash.HASH_INTERATIONS为 1024
byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);
//对salt进行hex编码生成string字符串,作为密码前半部分,对加盐、sha1加密后的密码hex编码生成后半部分密码
//这样即使是2个同样的明文密码,加密后的密文也是不同的,即使有密码碰撞库也无法找到
//获得16位salt密钥 + 40位hash密码
return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword);
}
/**
* 生成随机的Byte[]作为salt.
* @param numBytes
* byte数组的大小
*/
public static byte[] generateSalt(int numBytes) {
Validate.isTrue(numBytes > 0,
"numBytes argument must be a positive integer (1 or larger)", numBytes);
byte[] bytes = new byte[numBytes];
random.nextBytes(bytes);
return bytes;
}
http://www.php.net/manual/zh/function.password-hash.php
不过 sha 值是不可逆的,似乎并无浪费时间的必要
但是要和java 那边统一啊 天啊 。。难道真要做1024次sha1 嘛??头痛
java 给的说明就是这个啊 还有上边的那一串 java的加密代码 求大佬解答啊
sha1(字符串)
}
吗 感觉有点坑啊
for(i=0 i<1000;i++){
$s = sha1($s);
}