回答
如果必須use java:
import java.io.ByteArrayInputStream;
import java.security.MessageDigest;
public class SHACheckSumExample
{
public static void main(String[] args)throws Exception
{
MessageDigest md = MessageDigest.getInstance("SHA-1");
ByteArrayInputStream fis = new ByteArrayInputStream(args[1].getBytes());
byte[] dataBytes = new byte[1024];
int nread = 0;
while ((nread = fis.read(dataBytes)) != -1) {
md.update(dataBytes, 0, nread);
};
byte[] mdbytes = md.digest();
//convert the byte to hex format method 1
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mdbytes.length; i++) {
sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1));
}
System.out.println("Hex format : " + sb.toString());
//convert the byte to hex format method 2
StringBuffer hexString = new StringBuffer();
for (int i=0;i<mdbytes.length;i++) {
hexString.append(Integer.toHexString(0xFF & mdbytes[i]));
}
System.out.println("Hex format : " + hexString.toString());
}
}
我會,因爲性能原因,建議您檢查一下,如果你的數據庫有SHA支持。我知道Postgres does,不知道其他系統。
密碼的SHA不應該是「出於性能原因」 - 這實際上是*不使用密碼哈希的一個很好的理由。雖然這確實通過MessageDigest顯示了一個SHA-1的例子(帶有一些額外的東西),但它是一個非常糟糕的例子,就是如何在數據庫中散列密碼。沒有鹽 - 彩虹表攻擊,SHA-1 - 暴力攻擊。 – user2246674 2013-05-01 18:11:37
我嘗試jBCrypt,它完美的工作,但我不能用SHA1散列的密碼記錄。因爲這行在我的XML文件「spring-security.xml」 **
我找到它它退出簡單! \t \t ** MessageDigestPasswordEncoder encoder = new MessageDigestPasswordEncoder(「SHA」); \t \t String hash = encoder.encodePassword(user.getPassword(),「」); ** – Somar 2013-05-01 19:07:54
- 1. 密碼存儲爲sha1和pbkdf2_sha256
- 2. 在PostgreSQL中存儲FreeRADIUS用戶密碼的SHA1哈希摘要
- 3. cakephp sha1在mysql中保存密碼
- 4. 如何使用java在密鑰註冊表中存儲密碼?
- 5. 在wordpress上導入/使用SHA1密碼
- 6. 如何使用Java在Mac Keychain中存儲用戶名/密碼?
- 7. 使用Arraylists在Java GUI中存儲密碼
- 8. 使用Java中的PBEWithHmacSHA256AndAES_256加密要存儲在文件中的密碼
- 9. 加密密碼sha1 keySpring?
- 10. SHA1密碼加密錯誤
- 11. Sha1或密碼加密
- 12. 檢索sha1加密密碼..
- 13. 使用SHA1加密
- 14. Java - 如何存儲應用程序中使用的密碼?
- 15. 在使用PHP的登錄表單中使用sha1 salted密碼?
- 16. 將加密密碼存儲在xml中
- 17. 在加密的cookie中存儲密碼?
- 18. 將加密密鑰存儲在Java代碼中?
- 19. Java使用SHA1
- 20. 解密存儲Java密鑰存儲
- 21. 存儲密碼
- 22. 存儲密碼
- 23. 密碼存儲?
- 24. 存儲加密密碼和salt或僅存儲加密密碼?
- 25. 在存儲過程中使用密碼打開對稱密鑰
- 26. 使用SHA1在Sql Server 2008上加密密碼
- 27. 使用SHA1在C#和IOS中加密
- 28. 密碼恢復與sha1密碼散列
- 29. 存儲在MobileSafari內存中的密碼
- 30. 在java util類中使用BASE64的SHA1不會生成正確的密碼
搜索是否顯示任何好的潛在客戶?有*許多*重複。 (另外,「加密」!=「哈希」,這將是一個更好的搜索術語。) – user2246674 2013-05-01 18:04:06
開始*理解*本回復:http://stackoverflow.com/a/401684/2246674 – user2246674 2013-05-01 18:07:13
SHA1是一個哈希函數抱歉 – Somar 2013-05-01 18:09:08