相关疑难解决方法(0)

如何生成MD5哈希?

是否有任何方法可以在Java中生成字符串的MD5哈希?

java hash md5 hashcode

977
推荐指数
27
解决办法
99万
查看次数

如何在Java中使用sha256散列一些字符串?

如何在Java中使用sha256散列一些字符串?有人知道这个免费图书馆吗?

java cryptography sha256 cryptographic-hash-function

187
推荐指数
11
解决办法
30万
查看次数

React Native 中的 SHA256

我需要使用 React Native 计算 Android 和 iOS 中许多文件的 SHA256 哈希值。当用户选择文件时,我的应用程序将开始计算每个文件的 SHA256。

对于网页,我一直使用 crypto-js。但对于 Andoid 和 iOS 应用程序,我担心 crypto-js 的性能可能不够快,因为文件(例如视频文件)可能 >400 MB。

有什么方法可以调用 Android/iOS 原生 api 来计算 SHA256,而不是为了性能而使用 crypto-js 吗?

sha cryptojs react-native

4
推荐指数
1
解决办法
1万
查看次数

在Java中创建Base64编码的SHA-256哈希

我们需要读取文件内容并将其转换为SHA256,然后将其转换为Base64.

任何指针或示例代码都足够了,因为我是这种加密机制的新手.

提前致谢.

java oracle11g

3
推荐指数
2
解决办法
7528
查看次数

HMAC SHA-256和Facebook signed_request

所以,我正在使用Java验证Facebook的signed_request.不幸的是,我一直在遇到验证过程中的问题.我查看了这个文档,并模拟了他们的算法,但没有成功.我也遵循了本教程,并继续提出我的计算签名与Facebook发送的签名不同.

或者至少,这就是String.equals()告诉我的.

所以我决定再捅一下.

我将其设置为迭代计算签名中的字节和提供的字节.低,看,我的签名的前32个字节完全匹配他们.它只是缺少另外400多字节的数据.

那时,我觉得我应该更好地了解到底发生了什么.我查了一下SHA-256,发现确实只创建了32个字节的信息.那么我留下了超过400字节的数据,Facebook声称是使用HMAC SHA-256算法生成的.我想我应该比较SHA-256的最大长度与我散列数据的长度,但只是表明,有办法,方式,方法有很多剩余空间(邮件大小:575个字节;最大尺寸:2.305843009213694 x 10 ^ 18字节).

Facebook会搞砸吗?或者我错过了什么?

编辑

这是我用来散列数据的函数.我传入我的facebook密码(用于密钥)和base64url编码的JSON对象(用于数据).它始终返回长度为32的字节数组,其数据与facebook提供的签名的前32个字节相匹配.

private byte[] hmacSHA256(String data, String key) throws Exception {
    SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
    Mac mac = Mac.getInstance("HmacSHA256");
    mac.init(secretKey);
    mac.update(data.getBytes("UTF-8"));
    byte[] hmacData = mac.doFinal();
    return hmacData;
}
Run Code Online (Sandbox Code Playgroud)

java facebook sha256

1
推荐指数
1
解决办法
4758
查看次数