android - 如何在Android中写一个类似于Python函数的hash函数?

标签 android python encryption hash cryptography

我目前正在开发分布式系统应用程序。我想在 Android 应用程序中验证 Python 生成的哈希值。我有一个 python 方法来对给定的字符串变量进行哈希处理。

这是 python 函数,它运行良好。

 hash_value = hashlib.sha1("PARAMETER123".encode("UTF-8")).hexdigest()

我想在我的 Android 应用程序中实现相同的功能。希望有高手能尽快帮忙。

最佳答案

你可以试试下面的代码 fragment ,

String text = "PARAMETER123";

MessageDigest md = MessageDigest.getInstance("SHA-1");
byte[] textBytes = text.getBytes("UTF-8");
md.update(textBytes, 0, textBytes.length);
byte[] sha1hash = md.digest();

String encrypted_text = = convertToHex(sha1hash);

convertToHex()方法

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

这会将基于 UTF-8 的文本转换为 SHA1 十六进制。

引用:https://stackoverflow.com/a/5980789/2506025

关于android - 如何在Android中写一个类似于Python函数的hash函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372800/

相关文章:

java - 没有这样的算法 : AES for provider BC

android - 从 Facebook App 打开的 Deeplink 转到 PlayStore

android - 更新 ImageView Android

python追加2d列表不能按预期工作,这是一个错误吗?

python - 从不分配 numpy.ufunc 的输出

python - 调用 .save() 后 Django 模型不更新

android - 注销后清除 Firebase 持久性

java - HttpGet JSONArray android 进度条

java - 信号协议(protocol)问题

c - 分解大数据以进行 RSA 加密