java - SHA256 是否具有良好的跨平台支持?

标签 java android ios encryption sha256

我目前正在设计一个新的 REST API,我正在考虑要求消息签名。在高层次上,模型是这样的:

  1. API 消费者获得一个 API key 和 secret
  2. API 使用者使用 Secret 创建它发送到 API 的消息的消息摘要 HMAC。

我一直在考虑使用 SHA256 进行签名,但希望确保它适用于:

  1. 安卓/Java
  2. 苹果手机
  3. 所有其他主要平台等

我知道 SHA-1 有很好的支持,但如果可能的话,我真的需要使用更强大的东西。

最佳答案

iOS 中的 CommonCrypto 支持 SHA256。 Java 通过 MessageDigest.getInstance("SHA-256") 支持它,Android 也是如此 (Java)。不要忘记也支持 Windows Phone 的地方。在我看来,这非常重要。

正如您已经指出的那样,您不应该使用 SHA1,因为它不是 secure enough anymore .

关于java - SHA256 是否具有良好的跨平台支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20058189/

相关文章:

iphone - 从 Objective-C 类文件访问 ViewController 的成员/属性的正确方法?

java - HtmlUnit,如何在不单击提交按钮的情况下发布表单?

java - 打开新 Activity 而不丢失父 Activity

c# - 应用程序启动错误 : Foundation. MonoTouchException:抛出 Objective-C 异常 (Xamarin iOS)

android - 为什么tensorflow lite示例在向数组添加像素值时使用image_mean和image_std?

java - MVVM 在多个存储库中重复代码

ios - 将 NSString 分成两部分(最后一个斜线之前和之后)

java - 仅针对行自动滚动 jtextarea

Java h2 sql 结果显示 'clob<x>' 而不是基本字符串

java - 如何处理 RollbackException 和约束违规