android - 如何使用 SHA256 算法对 .apk 进行签名

标签 android android-studio apksigner

我有一个 .keystore 证书(10 年前生成)来签署 apk,我使用 android sigingCOnfig 函数对其进行签名,并且使用 SHA1 哈希算法进行签名,任何人都可以告诉我如何使用 SHA256 签名进行签名现有 .keystore 证书的算法?

最佳答案

SHA1 和 SHA256 不是签名算法,而是哈希(又称摘要)算法。散列只是签名过程中使用的一种操作, key 的强度(通常是 key 中使用的位数)是安全模型中同样重要的考虑因素,因为安全性与其最薄弱的环节一样好。

虽然您可以选择 key 的强度(当您最初生成 keystore 时),但您无法选择在签名过程中使用哪种哈希算法。 Apksigner(Android Gradle 插件使用的)将自动选择您的应用程序支持的 Android 平台支持的最强哈希算法。换句话说,使用的哈希算法取决于您在应用中定义的 minSdkVersion 值以及 key 类型(例如 RSA、DSA 等)。这是因为在更新的 Android 版本中添加了对更强的签名/哈希算法对的支持。

还要注意不要陷入一个常见的陷阱,即查看证书本身签名的哈希算法(而不是 APK 的签名)。此签名与 Android 安全模型无关,因此使用哪种哈希算法并不重要。

关于android - 如何使用 SHA256 算法对 .apk 进行签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67876447/

相关文章:

java - 在 GridLayout 中看不到按钮

android - Android Studio 0.4.2:Gradle项目同步失败错误

Android fragment - newInstance() 与 instantiate() 方法

android - 尽管滚动,如何使 ProgressBar 保持在屏幕中央

android - 使用 proguard 混淆 nineoldandroids 和 android-switch-backport

java - Android Studio 中的错误?无法访问子类中的 protected 成员

带有 SHA1 算法证书的 Android SHA256 签名算法

android - 在android studio中生成sign apk时出错

apktool - 即使经过 zipalign 和 Sign 后,apktool 重建的 apk 也无法安装

Android谷歌加登录按钮样式