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加密和解密算法详解代码示例相关推荐

  1. 加密系列 | 3DES加密和解密算法详解代码示例

    3DES的在Java的实现与DES类似,如下代码为3DES加密算法.CBC模式.PKCS5Padding填充方式的加密解密结果,参考代码如下所示: import java.security.Key;i ...

  2. TEA系列加解密算法详解

    文章目录 TEA系列概述 TEA算法介绍 TEA加密过程 C语言实现: XTEA算法介绍 XTEA加密过程 C语言实现 XTEA算法介绍 XXTEA加密过程 C语言实现 参考 TEA系列概述 TEA算 ...

  3. AES加解密算法详解

    0 AES简介 美国国家标准技术研究所在2001年发布了高级加密标准(AES).AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准. 根据使用的密码长度,AES最常见的有3种方案,用以适应 ...

  4. YOLOv1——YOLOX系列及FCOS目标检测算法详解

    文章目录 一. 开山之作:YOLOv1 1.1. YOLOv1简介 1.2 YOLOv1 检测原理 1.3 YOLOv1网络结构 1.4 YOLOv1 损失函数 1.5 YOLOv1优缺点 二. YO ...

  5. RSA 加解密算法详解

    RSA 为"非对称加密算法".也就是加密和解密用的密钥不同. (1)乙方生成两把密钥(公钥和私钥).公钥是公开的,任何人都可以获得,私钥则是保密的. (2)甲方获取乙方的公钥,然后 ...

  6. 【机器学习算法笔记系列】逻辑回归(LR)算法详解和实战

    逻辑回归(LR)算法概述 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法. 逻辑 ...

  7. NMS(非极大值抑制)算法详解与示例

    一.NMS是什么? NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中. NMS原理是通过筛选出局部极大值得到最优解. 在2维边 ...

  8. 最小生成树之克鲁斯卡尔(kruskal)算法详解代码实现

    克鲁斯卡尔算法的基本思想是以边为主导地位,始终选择当前可用(所选的边不能构成回路)的最小权植边. 1.给所有的边按照从小到大的顺序排序 2.从小到大依次考察每一条边(u,v) <1> 设一 ...

  9. 归并排序算法详解及示例

    归并排序 归并排序算法是在分治算法的基础上设计出来的一种排序算法,它可以可以对指定的序列完成升序,(由小到大),或降序(由大到小),时间复杂度为 O ( n l o g n ) O(nlogn) O( ...

  10. BF算法详解+代码实现

    #include <iostream>using namespace std;/** *目标串(主串):a b a b c d e f *模式串(子串):a b c(长度为len) *BF ...

最新文章

  1. phd for engineering at industry
  2. 跳跃游戏Python解法
  3. seaborn分类数据可视:散点图|箱型图|小提琴图|lv图|柱状图|折线图
  4. Java项目问题_Java项目出现的问题01----学习
  5. Docker安装RabbitMQ(docker-compose.yml)
  6. scipy.ndimage.filters.gaussian_filter()
  7. Windows10/Servers2016应用商店恢复/安装
  8. 小程序开发之图片转Base64(C#、.Net)
  9. 线程池与Threadlocal
  10. AVPlayerViewController支持横屏设置
  11. # cs231n (三)优化问题及方法
  12. TLV协议——实现封包与解析
  13. linux 文件大小单位显示
  14. Css3实现背景毛玻璃效果
  15. 计算机实训项目结果文档,计算机基础实训报告.doc
  16. 用while语句显示1~10的平方。
  17. vue尚品汇商城项目-day04【29.加入购物车操作(难点)】
  18. python随机函数random、画、星轨_教你绘制梵高的星空
  19. 【转】如何把一个开发者账号转移到另一个账号名下
  20. Ubuntu 18.04 LTS \n \l 配置网卡IP

热门文章

  1. Intro.js 简介和用法
  2. 使用CobaltStrike制作钓鱼网站
  3. ${pram.name}
  4. 杰里之echo 衰减系数调节【篇】
  5. 将文件夹中的图片按照文件名进行标签分类
  6. liunx是相关总结
  7. word表格完美复制到excel之浅析
  8. 【计组】计算机乘法运算
  9. 真核有参转录组测序标准分析-2
  10. Matlab - Matlab中M文件的创建和调用