Java实现几种加密工具类
在我们的程序员之路上,肯定少不了加密的协助,比如最常见的MD5与sha这两种加密,这次我给大家带来的是不用任何操作,直接粘上就能用的加密工具类(懒惰程序员的福音),好了话不多说,直接如下:
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;/*** 加密工具类* * md5加密出来的长度是32位* * sha加密出来的长度是40位* * @author 菜B程序员* */public class Encrypt {/*** 加密* * @param inputText* @return*/public static String e(String inputText) {return md5(inputText);}/*** 二次加密,应该破解不了了吧?* * @param inputText* @return*/public static String md5AndSha(String inputText) {return sha(md5(inputText));}/*** md5加密* * @param inputText* @return*/public static String md5(String inputText) {return encrypt(inputText, "md5");}/*** sha加密* * @param inputText* @return*/public static String sha(String inputText) {return encrypt(inputText, "sha-1");}/*** md5或者sha-1加密* * @param inputText* 要加密的内容* @param algorithmName* 加密算法名称:md5或者sha-1,不区分大小写* @return*/private static String encrypt(String inputText, String algorithmName) {if (inputText == null || "".equals(inputText.trim())) {throw new IllegalArgumentException("请输入要加密的内容");}if (algorithmName == null || "".equals(algorithmName.trim())) {algorithmName = "md5";}String encryptText = null;try {MessageDigest m = MessageDigest.getInstance(algorithmName);m.update(inputText.getBytes("UTF8"));byte s[] = m.digest();// m.digest(inputText.getBytes("UTF8"));return hex(s);} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}return encryptText;}/*** 返回十六进制字符串* * @param arr* @return*/private static String hex(byte[] arr) {StringBuffer sb = new StringBuffer();for (int i = 0; i < arr.length; ++i) {sb.append(Integer.toHexString((arr[i] & 0xFF) | 0x100).substring(1, 3));}return sb.toString();}}
最后我们直接调用:
String pwd="123456";
System.out.println(Encrypt.md5AndSha(pwd));
结果:
10470c3b4b1fed12c3baac014be15fac67c6e815
Java实现几种加密工具类相关推荐
- java md5 c_java MD5加密工具类
package com.person.util; import java.lang.reflect.Array; public class MD5 { /* 下面这些 S11-S44 实际上是 \uF ...
- Java各种方式加解密工具类
文章目录 前言 1.AES 2.DES 3.BCrypt 4.Http Basic 5.MD5 6.RSA 7.SHA256 8.SM3 9.SM4 前言 JAVA能够实现各种加解密方式,这里对各种加 ...
- Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试
一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...
- JAVA加密工具类实例
工具类还是老套路,要让用户可扩展,同时提供一个基础工具即可,本文分享BeginCode的用户密码加密工具类的使用, 如果不为了扩展性,可以写成工具类即可,提供两个静态方法如下 一个方法是直接MD5加密 ...
- 加密工具类 - CryptoUtils.java
加密工具类,包含MD5,BASE64,SHA,CRC32的加密与解密方法. 源码如下:(点击下载 - CryptoUtils.java.commons-io-2.4.jar.commons-code ...
- java在线支付---04_编写易宝支付的客户端加密工具类
2013/5/30 04_编写易宝支付的客户端加密工具类 创梦综合技术qq交流群:CreDream:251572072 ---------------------------------------- ...
- Java教程:微信排序并加密工具类
Java教程:微信排序并加密工具类 源码: import cn.bsit.commons.md5.MD5Utils;import java.util.Arrays; import java.util. ...
- Java加密工具类EncryptUtils
Java 提供了一些常见的加密算法,如 MD5.SHA.AES.DES,现将这些实现方法放进加密工具类 EncryptionUtils 使用了 String.format() 来确保每个字节都能够正确 ...
- 一、java项目常用工具类之加密工具类
项目环境: jdk1.8+spring4.3.12 一.问题描述及试用场景: 在项目规范中,有时需要对一些数据进行加密解密,常见的就是前后端加密参数在网络上传输.一方面,数据在网络上是以加密的方式传输 ...
最新文章
- 为什么你应该尝试全栈
- 洛谷3613睡觉困难综合征(LCT维护链信息(前后缀)+贪心)
- 剑指offer-用两个栈实现一个队列
- slatstack Master的配置
- 【读书笔记】非暴力沟通
- python学习之面向对象学习进阶
- unzip直接覆盖解压
- WinForm开发(36)——WinForm开发微软官方最全综合详解指南(包括bug出现的可能原因分析及解决方法)
- Python 之 pip安装 及 使用详解
- Deep Retinex Decomposition for Low-Light Enhancement
- 游戏模型提取工具NinjaRipper
- 55欧式空间02——正交矩阵、欧氏空间的同构
- Qt 编程 keySight 34401A 万用表(串口232编程)
- 什么是模型?什么是建模?
- 一个微信小程序开发示例
- Redis set 类型 查询命令
- 如何在linux中连接sybase数据库
- 【TPM设备管理】企业设备管理改善的五大落地要点
- android 12.0 第三方输入法app设置系统默认输入法
- AWS 使用 VM Import/Export 将 VM 作为映像导入
热门文章
- Mysql如何实现可重复读
- 输入一个0~6的整数,输出星期几
- python的格式转换库_3个Python PDF库,提取信息、转换格式、分割剪裁有它就够了!...
- iframe 加载完成后回调事件(怎么判断iframe是否加载完成)
- oracle数据库数据迁移三部曲(一)oracle 11g的安装
- C语言八进制转十进制(包括小数点)
- Beego generate命令
- 推荐一款多平台快速开发的前端UI框架 —— uView !
- js数组中splice和slice的区别
- 《棒球殿堂》:棒球联盟LEAGUE·北海道火腿斗士