Android获取SHA1值的详细步骤

在使用一些第三方sdk的时候,比如高德地图,会让我们填写安全码SHA1值。如下图所示

这里写图片描述

SHA1值分为发布版和调试版。
调试版就是我们平时开发测试时用的默认签名文件。这个默认的签名文件一般是在c盘的用户名目录下的.android文件夹内。 默认文件就是 debug.keystore

这里写图片描述

下面我们来看看怎么获取调试版的SHA1值

首先 打开命令行工具,正常情况下cmd+R键直接会在当前用户的目录
获取SHA1值的步骤很简单,
1.先切换到 debug.keystore所在的目录下。注意是 .android 不要忘写.

cd .android
这里写图片描述

2.输入 keytool -list -v -keystore debug.keystore 可以直接复制后直接右键粘贴回车即可

这里写图片描述

3.回车后会让你输入密码 ,默认密码是 android 需要注意的是输入密码的时候是不可见的 输入完成回车即可

这里写图片描述

回车后即可看到调试版的SHA1值了。
是不是很简单

获取开发版SHA1值的步骤跟获取调试版也是一样的。发布版的签名一般是我们自己创建的。比如我先随便创建一个文件名为test的签名文件。

签名创建步骤
1.在Android studio点击build,选择Generate Signed APK
这里写图片描述

2.如果还没有创建过签名文件,则选择create new

这里写图片描述

3.选择存放目录,输入文件名
这里写图片描述

4.输入密码等信息
这里写图片描述

点击ok即可,这样一个签名文件就创建完成了。
这里写图片描述

下面我们来获取一下刚刚创建的签名文件的SHA1的值,这个值就是我们需要的发布版SHA1值
步骤还是跟获取调试版SHA1值一样

首先切换到签名文件存放的目录

这里写图片描述

然后输入 keytool -list -v -keystore test.jks 注意这里后面的文件名是刚才创建为文件名
这里写图片描述

输入密码,密码就是刚才自己设定的密码,输入时也是不可见的,输入后直接回车即可获取到发布版的SHA1值了。
这里写图片描述

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
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。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喻志强(Xeon)

码字不易,鼓励随意。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值