java - 在 Android 上进行 SHA1 加密?

标签 java android encryption sha1

你能建议我如何使用 SHA1 算法加密字符串吗? 我已经搜索过了。但运气不好。

提前致谢。

最佳答案

binnyb 的 convertToHex 方法无法正常工作。对我有用的更正确的是:

private static String convertToHex(byte[] data) { 
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < data.length; i++) { 
        int halfbyte = (data[i] >>> 4) & 0x0F;
        int two_halfs = 0;
        do { 
            if ((0 <= halfbyte) && (halfbyte <= 9)) {
                buf.append((char) ('0' + halfbyte));
            }
            else {
                buf.append((char) ('a' + (halfbyte - 10)));
            }
            halfbyte = data[i] & 0x0F;
        } while(two_halfs++ < 1);
    } 
    return buf.toString();
} 


public static String SHA1(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException  { 
    MessageDigest md = MessageDigest.getInstance("SHA-1");
    byte[] sha1hash = new byte[40];
    md.update(text.getBytes("iso-8859-1"), 0, text.length());
    sha1hash = md.digest();
    return convertToHex(sha1hash);
} 

使用 SHA1 方法获取 sha1 字符串。

更新:提供完整答案

关于java - 在 Android 上进行 SHA1 加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757024/

相关文章:

java - 为什么 PKS5Padding 会改变 Java 中的 128 字节字符串

node.js - Node JS 加密密码 aes 256 最大数据大小

java - 如何在 Android 中为 TabActivity 更改设置动画?

java - String.matches() 意外返回 false。

java - Spring servlet配置文件抛出异常

android LinearLayout 性能

android - 标准时间与军事时间

android - 如何在 Google 的新 NavigationView 中将 MenuItem 添加到 SubMenu?

cookies - RIJNDAEL 加密对于提供给用户的少量文本是否安全?

java - 无法阻止我的机器人自行返回的运动