加密系列 | SHA加密和解密算法详解代码示例
import java.security.MessageDigest;/*** 采用SHA加密* * @author peipei3514* @datetime 2017-8-11 12:00:34*/
public class SHAUtil {/**** SHA加密 生成40位SHA码*/public static String shaEncode(String data) throws Exception {MessageDigest sha = MessageDigest.getInstance("SHA");byte[] byteArray = data.getBytes("UTF-8");// md5Bytes的长度为20byte[] md5Bytes = sha.digest(byteArray);// 转换成16进制字符串StringBuffer hexValue = new StringBuffer();for (int i = 0; i < md5Bytes.length; i++) {int val = ((int) md5Bytes[i]) & 0xff;// 为了满足40位长度,当值小于16时需要先添加一位0(小于16的话用一位就能表示)if (val < 16) {hexValue.append("0");}hexValue.append(Integer.toHexString(val));}return hexValue.toString();}public static void main(String args[]) throws Exception {String str = new String("1A2B3C4D5E");System.out.println("原始:" + str);System.out.println("SHA后:" + shaEncode(str));}
}
加密系列 | SHA加密和解密算法详解代码示例相关推荐
- 加密系列 | 3DES加密和解密算法详解代码示例
3DES的在Java的实现与DES类似,如下代码为3DES加密算法.CBC模式.PKCS5Padding填充方式的加密解密结果,参考代码如下所示: import java.security.Key;i ...
- TEA系列加解密算法详解
文章目录 TEA系列概述 TEA算法介绍 TEA加密过程 C语言实现: XTEA算法介绍 XTEA加密过程 C语言实现 XTEA算法介绍 XXTEA加密过程 C语言实现 参考 TEA系列概述 TEA算 ...
- AES加解密算法详解
0 AES简介 美国国家标准技术研究所在2001年发布了高级加密标准(AES).AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准. 根据使用的密码长度,AES最常见的有3种方案,用以适应 ...
- YOLOv1——YOLOX系列及FCOS目标检测算法详解
文章目录 一. 开山之作:YOLOv1 1.1. YOLOv1简介 1.2 YOLOv1 检测原理 1.3 YOLOv1网络结构 1.4 YOLOv1 损失函数 1.5 YOLOv1优缺点 二. YO ...
- RSA 加解密算法详解
RSA 为"非对称加密算法".也就是加密和解密用的密钥不同. (1)乙方生成两把密钥(公钥和私钥).公钥是公开的,任何人都可以获得,私钥则是保密的. (2)甲方获取乙方的公钥,然后 ...
- 【机器学习算法笔记系列】逻辑回归(LR)算法详解和实战
逻辑回归(LR)算法概述 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法. 逻辑 ...
- NMS(非极大值抑制)算法详解与示例
一.NMS是什么? NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中. NMS原理是通过筛选出局部极大值得到最优解. 在2维边 ...
- 最小生成树之克鲁斯卡尔(kruskal)算法详解代码实现
克鲁斯卡尔算法的基本思想是以边为主导地位,始终选择当前可用(所选的边不能构成回路)的最小权植边. 1.给所有的边按照从小到大的顺序排序 2.从小到大依次考察每一条边(u,v) <1> 设一 ...
- 归并排序算法详解及示例
归并排序 归并排序算法是在分治算法的基础上设计出来的一种排序算法,它可以可以对指定的序列完成升序,(由小到大),或降序(由大到小),时间复杂度为 O ( n l o g n ) O(nlogn) O( ...
- BF算法详解+代码实现
#include <iostream>using namespace std;/** *目标串(主串):a b a b c d e f *模式串(子串):a b c(长度为len) *BF ...
最新文章
- phd for engineering at industry
- 跳跃游戏Python解法
- seaborn分类数据可视:散点图|箱型图|小提琴图|lv图|柱状图|折线图
- Java项目问题_Java项目出现的问题01----学习
- Docker安装RabbitMQ(docker-compose.yml)
- scipy.ndimage.filters.gaussian_filter()
- Windows10/Servers2016应用商店恢复/安装
- 小程序开发之图片转Base64(C#、.Net)
- 线程池与Threadlocal
- AVPlayerViewController支持横屏设置
- # cs231n (三)优化问题及方法
- TLV协议——实现封包与解析
- linux 文件大小单位显示
- Css3实现背景毛玻璃效果
- 计算机实训项目结果文档,计算机基础实训报告.doc
- 用while语句显示1~10的平方。
- vue尚品汇商城项目-day04【29.加入购物车操作(难点)】
- python随机函数random、画、星轨_教你绘制梵高的星空
- 【转】如何把一个开发者账号转移到另一个账号名下
- Ubuntu 18.04 LTS \n \l 配置网卡IP