Android SHA1获取方法及常见问题

1.测试版获取方式

(1):cmd到debug.keystore文件夹下(一般在C:\Users\“你的电脑名”\.android)

*可在文件管理器中打开到该文件,在上方地址栏输入cmd,回车即可

(2):输入:keytool -list -v -keystore debug.keystore,即可获取测试版SHA1

2.发布版获取方式

(1)创建发布版的keystore

a).打开keystore创建窗口

 

b).完善创建信息,文件位置可自由选择,填写密码等信息,记住相应密码,后面会用到。其他信息随意填写即可,点击ok,到相应文件下,就会找到相应.jks文件

 c).创建失败,报错JKS 密钥库使用专用格式。

Key was created with errors:

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore D:\Android Studio\Tools\keys\test.jks -destkeystore D:\Android Studio\Tools\keys\test.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

 

 d).转为keystore

cmd到你创建的文件夹,在控制台输入命令:

keytool -genkey -alias xxxx -keypass xxxxx -keyalg RSA -keysize 1024 -validity 36500 -keystore  D:\AndroidStudio\test.keystore -storepass xxxxx

需要注意图中红框:

1-- 你创建jks时的Alias; 

2-- 你创建时的文件密码

3-- 你需要转换的keystore的位置(不要带空格或中文)及文件名称(后缀名为.keystore)

4-- 转换后的keystore的密码(获取SHA1时的密钥库口令

5-- 姓氏什么都可以不用填,在这里输入y

然后便可以在3的目标文件夹下找到转换成功的.keystore文件

(2)获取发布版keystore的SHA1

1)cmd到生成的keystore文件夹下,如:D:\AndroidStudio

2)命令行输入:keytool -list -v -keystore test.keystore 回车

      输入密钥库口令--转换时4对应的密码。回车即可获取SHA1

3.Android Studio工具获取

        生成jks文件后,可通过Android Studio右侧Gradle工具中的task获取签名:

 

点击signingReport,即可获取到相应签名

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android获取SHA1可以通过以下步骤实现: 1. 打开项目的Android Studio。 2. 在Project视图中,展开app文件夹并找到app -> src -> main -> java -> 你的项目包名的文件夹。 3. 在该文件夹中创建一个新的Java类文件,命名为FingerPrintHelper(或其他你喜欢的名称)。 4. 在FingerPrintHelper类中添加以下代码: ```java import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; import android.util.Base64; import android.util.Log; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class FingerPrintHelper { private static final String TAG = FingerPrintHelper.class.getSimpleName(); public static void getSHA1(Context context) { try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo( context.getPackageName(), PackageManager.GET_SIGNATURES); for (Signature signature : packageInfo.signatures) { MessageDigest md = MessageDigest.getInstance("SHA1"); md.update(signature.toByteArray()); byte[] sha1Hash = md.digest(); String sha1 = Base64.encodeToString(sha1Hash, Base64.NO_WRAP); Log.e(TAG, "SHA1: " + sha1); } } catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) { e.printStackTrace(); } } } ``` 5. 现在你可以在你的项目的任何地方调用getSHA1()方法获取SHA1哈希值。例如,在MainActivity的onCreate()方法中添加以下代码: ```java FingerPrintHelper.getSHA1(this); ``` 6. 运行你的应用程序,并在Android Studio的Logcat中查看SHA1值。 注意:在使用SHA1值时,请记住将其用于适当的目的,比如在Google开发者控制台上注册应用程序或使用Google Maps API。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值