安卓逆向 -- 算法基础(SHA)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 安卓逆向 -- 算法基础(SHA)

一、SHA算法


SHA由美国标准与技术研究所(NIST)设计并于1993年发表,该版本称为SHA-0,由于很快被发现存在安全隐患,1995年发布了SHA-1。2002年,NIST分别发布了SHA-256、SHA-384、SHA-512,这些算法统称SHA-2。2008年又新增了SHA-224。由于SHA-1已经不太安全,目前SHA-2各版本已成为主流。


二、常用的SHA-256算法


1、SHA-256:32个字节、64个字符、256个bit


2、使用方式和MD5方法一样,只是传入算法名不一样


3、java版


String bs= "逆向有你a";
MessageDigest shasf=MessageDigest.getInstance("SHA-256");//我要用md5算法
shasf.update(bs.getBytes());//我要加密的数据
byte[] ressha = shasf.digest();//给我加密
System.out.println("SHA-256加密(字节):"+Arrays.toString(ressha));
System.out.println("SHA-256加密(字符串):"+bytes2HexString(ressha));
MessageDigest shasf1 = MessageDigest.getInstance("sha-256");
shasf1.update("逆向".getBytes(StandardCharsets.UTF_8));
shasf1.update("有你".getBytes(StandardCharsets.UTF_8));
byte[] ressha1 = shasf1.digest("a".getBytes(StandardCharsets.UTF_8));
System.out.println(bytes2HexString(ressha1));
运行结果:
SHA-256加密(字节):[-55, 52, -50, 36, -123, 97, 5, 78, -89, -81, -84, -15, -22, 80, 62, -1, -65, -124, -122, -49, -56, -56, 23, -2, 97, 99, -26, 71, 88, -111, 103, -88]
SHA-256加密(字符串):C934CE248561054EA7AFACF1EA503EFFBF8486CFC8C817FE6163E647589167A8
C934CE248561054EA7AFACF1EA503EFFBF8486CFC8C817FE6163E647589167A8

4、JS版,同样需要CryptoJS加密库配合

var CryptoJS=module.exports;
function test()
{
    return CryptoJS.SHA256("逆向有你a").toString().toUpperCase();
}
console.log(test());

禁止非法,后果自负

目录
相关文章
|
1月前
|
存储 算法 安全
|
3月前
|
算法 安全 JavaScript
安全哈希算法:SHA算法
安全哈希算法:SHA算法
55 1
安全哈希算法:SHA算法
|
3月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
140 1
|
3月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
77 2
|
5月前
|
存储 算法 安全
深入理解SHA系列哈希算法:安全性的保障与演进
深入理解SHA系列哈希算法:安全性的保障与演进
|
5月前
|
算法 Java API
记录我第一次在Android开发图像处理算法的经历
记录我第一次在Android开发图像处理算法的经历
39 1
|
6月前
|
自然语言处理 算法 搜索推荐
Android文字匹配度算法
【5月更文挑战第15天】
|
6月前
|
算法 前端开发 Android开发
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
|
6月前
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
324 2
|
6月前
|
算法 Java API
Groovy脚本基础全攻略,android面试算法题
Groovy脚本基础全攻略,android面试算法题
下一篇
无影云桌面