使用SHA2加密密码字段

时间:2014-11-20 18:26:40

标签: android

在支持2.3及更高版本的Android应用程序中实施SHA2的最佳方法是什么?更多 ?保存文本SHA2加密的最佳方法。

1 个答案:

答案 0 :(得分:2)

  1. 您可以使用带有“SHA-256”算法的java.security包中的 MessageDigest http://developer.android.com/reference/java/security/MessageDigest.html
  2. 示例代码:

    public byte[] digest(String value) throws NoSuchAlgorithmException {
        MessageDigest digester = MessageDigest.getInstance("SHA-256");
    
        byte[] stringBytes = value.getBytes();
    
        digester.update(stringBytes, 0, stringBytes.length);
    
        return digester.digest();
    }
    

    此方法将返回给定字符串的摘要作为字节数组,或者在设备不支持SHA-256的情况下抛出NoSuchAlgorithmException。

    要获取可与MessageDigest一起使用的可用算法列表: https://stackoverflow.com/a/12851438/4183841

    1. 另一个选择是为Android使用 BouncyCastle 的端口: http://rtyley.github.io/spongycastle/
    2. SHA 256摘要的BuncyCastle文档: http://www.cs.berkeley.edu/~jonah/bc/org/bouncycastle/crypto/digests/SHA256Digest.html

      此选项适用于所有设备,但您必须在应用程序中包含BouncyCastle库的端口。