快速掌握SHA1、SHA256、MD5等哈希算法工具使用技巧

更新:11-21 民间故事 我要投稿 纠错 投诉

大家好,快速掌握SHA1、SHA256、MD5等哈希算法工具使用技巧相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于快速掌握SHA1、SHA256、MD5等哈希算法工具使用技巧和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

公共最终静态StringSHA1="SHA1";

公共最终静态StringSHA256="SHA256";

私有静态最终StringTAG="AppSigning";

私有静态最终HashMapmSignMap=new HashMap();

/**

* 返回对应类型的有符号字符串

* @参数上下文

* @参数类型

* @return 因为一个安装包可以被多个签名文件签名,所以返回签名信息列表。

*/

公共静态ArrayListgetSignInfo(上下文上下文,字符串类型){

if (上下文==null || 类型==null) {

返回空值;

}

String packageName=context.getPackageName();

if (包名==null) {

返回空值;

}

if (mSignMap.get(type) !=null) {

返回mSignMap.get(类型);

}

ArrayListmList=new ArrayList();

尝试{

Signature[] 标志=getSignatures(context, packageName);

for (签名sig : 标志) {

String tmp="错误!";

if (MD5.equals(type)) {

tmp=getSignatureByteString(sig, MD5);

} else if (SHA1.equals(type)) {

tmp=getSignatureByteString(sig, SHA1);

} else if (SHA256.equals(type)) {

tmp=getSignatureByteString(sig, SHA256);

}

mList.add(tmp);

}

} catch (异常e) {

Log.e(TAG, e.toString());

}

mSignMap.put(类型,mList);

返回mLList;

}

/**

* 获取签名sha1值

* @参数上下文

* @返回

*/

公共静态StringgetSha1(上下文上下文){

字符串res="";

ArrayListmlist=getSignInfo(上下文, SHA1);

if (mlist !=null mlist.size() !=0) {

res=mlist.get(0);

}

返回资源;

}

/**

* 获取签名MD5值

* @参数上下文

* @返回

*/

公共静态StringgetMD5(上下文上下文){

字符串res="";

ArrayListmlist=getSignInfo(上下文, MD5);

if (mlist !=null mlist.size() !=0) {

res=mlist.get(0);

}

返回资源;

}

/**

* 获取签名SHA256值

* @参数上下文

* @返回

*/

公共静态StringgetSHA256(上下文上下文){

字符串res="";

ArrayListmlist=getSignInfo(上下文,SHA256);

if (mlist !=null mlist.size() !=0) {

res=mlist.get(0);

}

返回资源;

}

/**

* 返回对应包的签名信息

* @参数上下文

* @param 包名

* @返回

*/

私有静态Signature[] getSignatures(Context context, String packageName) {

PackageInfo packageInfo=null;

尝试{

packageInfo=context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_SIGNATURES);

返回packageInfo.signatures;

} catch (异常e) {

e.printStackTrace();

}

返回空值;

}

/**

* 获取对应类型的字符串(将signed byte[]信息转换为16进制)

* @参数信号

* @参数类型

* @返回

*/

私有静态StringgetSignatureString(签名sig,字符串类型){

byte[] hexBytes=sig.toByteArray();

字符串指纹="错误!";

尝试{

MessageDigest 摘要=MessageDigest.getInstance(type);

if (摘要!=null) {

byte[] 摘要Bytes=摘要.digest(hexBytes);

StringBuilder sb=new StringBuilder();

for (字节摘要字节: 摘要字节) {

sb.append((Integer.toHexString((digestByte0xFF) |0x100)).substring(1, 3));

}

指纹=sb.toString();

}

} catch (异常e) {

Log.e(TAG, "getSignatureString:", e);

}

返回指纹;

}

/**

* 获取对应类型的字符串(将signed byte[]信息转换成字符串形式如95:F4:D4:FG)

* @参数信号

* @参数类型

* @返回

*/

私有静态StringgetSignatureByteString(签名sig,字符串类型){

byte[] hexBytes=sig.toByteArray();

字符串指纹="错误!";

尝试{

MessageDigest 摘要=MessageDigest.getInstance(type);

if (摘要!=null) {

byte[] 摘要Bytes=摘要.digest(hexBytes);

StringBuilder sb=new StringBuilder();

for (字节摘要字节: 摘要字节) {

sb.append(((Integer.toHexString((digestByte0xFF) |0x100)).substring(1, 3)).toUpperCase());

sb.append(":");

}

指纹=sb.substring(0, sb.length() -1);

}

} catch (异常e) {

Log.e(TAG, "getSignatureByteString 失败", e);

}

返回指纹;

}

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

用户评论

不离我

这类的工具真是太方便了!

    有20位网友表示赞同!

不识爱人心

我一直想找一个能快速计算hash值的工具,这个简直是福音啊!

    有8位网友表示赞同!

*巴黎铁塔

支持多种算法,可以满足不同的需求。

    有8位网友表示赞同!

■□丶一切都无所谓

界面看起来简洁易用,上手应该很快。

    有5位网友表示赞同!

鹿叹

不知道能不能生成文件的校验和?

    有12位网友表示赞同!

惯例

希望有命令行的使用方式,更加方便集成到项目中。

    有11位网友表示赞同!

非想

有没有开源源代码?想看看内部实现机制。

    有10位网友表示赞同!

﹎℡默默的爱

对于安全领域来说,这样的工具非常重要。

    有10位网友表示赞同!

来自火星的我

加密算法方面比较全面,包含了主流的哈希算法。

    有19位网友表示赞同!

←极§速

感觉这个效率很高,计算速度很快。

    有9位网友表示赞同!

浮殇年华

分享一下使用教程吗?我有些不太明白怎么用。

    有18位网友表示赞同!

咆哮

这种工具对开发人员来说简直必不可少啊!

    有8位网友表示赞同!

站上冰箱当高冷

希望能支持更多其他的加密算法。

    有8位网友表示赞同!

羁绊你

好用是好用,但是能不能提供一些更详细的介绍呢?比如适用于哪些场景?

    有15位网友表示赞同!

我要变勇敢℅℅

我一直在用其他工具计算hash值,这个看起来不错,打算试试看。

    有15位网友表示赞同!

昂贵的背影

真希望有中文版本界面!

    有5位网友表示赞同!

ヅ她的身影若隐若现

对于没有编程基础的人来说,操作起来会不会比较复杂?

    有18位网友表示赞同!

早不爱了

期待能够加入更多功能,比如数据加密和解密。

    有8位网友表示赞同!

浅笑√倾城

有没有手机端版本的应用?

    有5位网友表示赞同!

孤独症

这个工具的名字很有意思喔!简洁明了就明白了的功能。

    有10位网友表示赞同!

【快速掌握SHA1、SHA256、MD5等哈希算法工具使用技巧】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:大众传播理论概览:范式与研究流派解读笔记04 下一篇:揭秘生活困境:如何摆脱负能量,拥抱积极人生