安卓逆向 -- 算法基础(SHA)
2023-03-14 22:37:46 时间
一、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());
禁止非法,后果自负
相关文章
- OpenHarmony Docs开发入门
- 聊聊Linux中线程和进程的联系与区别!
- 我在 Linux 中使用的五个 Git 配置
- 如何在 Linux 下安装新的包管理器
- 三方库移植之NAPI开发—Hello OpenHarmony NAPI
- 如何在最小安装的 CentOS、RHEL、Rocky Linux 中设置互联网
- 一个整数+1,攻破了Linux内核!
- 负载均衡的初学者指南
- OpenHarmony学生挑战赛项目经验分享
- Fedora 和 openSUSE 正在放弃对流行的视频编解码器的支持
- 如何在 Windows 上用 WSL 2 快速体验丝般顺滑的 Linux
- 自动配送药品机器人系统(一) --- 背景及架构
- 跟着小白一起学鸿蒙--写个NAPI子系统(七)
- Linux中Notepad++的十大替代品
- 如何在 Linux Shell 脚本中使用加密密码
- 丝滑顺畅!Debian 12 采用 Ubuntu 的三重缓冲技术
- System 76 将不会发布 Pop!_OS 22.10 Linux 发行版
- WSL 2 的安装过程(以及介绍)
- Openharmony应用开发--智能喂食器
- Linus Torvalds 正式发布 Linux Kernel 6.0,性能大优化