linux DES秘钥生成每次加密结果不同

3/8/2017来源:ASP.NET技巧人气:2051

登陆的账号密码经过加入对比数据库内容,在windows平台下可以正常加密,而移植到linux后,同样的内容加密后会输出不同的密文

原代码

			KeyGenerator _generator = KeyGenerator.getInstance("DES");
			_generator.init(new SecureRandom(strKey.getBytes()));
			this.key = _generator.generateKey();
			_generator = null;更改后

			KeyGenerator generator = KeyGenerator.getInstance("DES");
			SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG" ); 
			secureRandom.setSeed(strKey.getBytes()); 
			generator.init(56,secureRandom);
			this.key=generator.generateKey();
			generator=null;