Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java后台怎么解密md5,Java md5 密码加解密

java后台怎么解密md5,Java md5 密码加解密

作者头像
全栈程序员站长
发布于 2022-09-14 04:04:57
发布于 2022-09-14 04:04:57
6.1K0
举报

大家好,又见面了,我是你们的朋友全栈君。

传入同一密钥如:key123456 进行加密解密

package com.pub;

import java.security.SecureRandom;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.SecretKey;

import javax.crypto.spec.SecretKeySpec;

public class PwdTools{

/**

* 加密

*

* @param content

* 待加密内容

* @param key

* 加密的密钥

* @return

*/

public static String encrypt(String content,String key){

try{

KeyGenerator kgen=KeyGenerator.getInstance(“AES”);

SecureRandom secureRandom = SecureRandom.getInstance(“SHA1PRNG” );

secureRandom.setSeed(key.getBytes());

kgen.init(128,secureRandom);

SecretKey secretKey=kgen.generateKey();

byte[] enCodeFormat=secretKey.getEncoded();

SecretKeySpec secretKeySpec=new SecretKeySpec(enCodeFormat,”AES”);

Cipher cipher=Cipher.getInstance(“AES”);

byte[] byteContent=content.getBytes(“utf-8”);

cipher.init(Cipher.ENCRYPT_MODE,secretKeySpec);

byte[] byteRresult=cipher.doFinal(byteContent);

StringBuffer sb=new StringBuffer();

for(int i=0;i

md5加密,不可解密

public static String getMd5(String plainText) {

try {

MessageDigest md = MessageDigest.getInstance(“MD5”);

md.update(plainText.getBytes());

byte b[] = md.digest();

int i;

StringBuffer buf = new StringBuffer(“”);

for (int offset = 0; offset < b.length; offset++) {

i = b[offset];

if (i < 0)

i += 256;

if (i < 16)

buf.append(“0”);

buf.append(Integer.toHexString(i));

}

//32位加密

return buf.toString();

// 16位的加密

//return buf.toString().substring(8, 24);

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159778.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java 加密工具类 AES , MD5 加密
import javax.crypto.*; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; /** * @author: Jack * 2019-12-03 21:56 */ public class AESUt
一个会写诗的程序员
2019/12/11
1.8K0
Java加解密工具类
今天coding的时候需要大数据大佬对接接口,接口用的DES加密 ECB的PKCS5Padding填充方式。从 CSDN看到的都是收费的,我就搞不明白了一个工具类至于收费不,我就有点不开心了。为什么就不能有一个分享的精神,程序员何必为难程序员呢。 今天我给大家分享三个我自己常用的三个加密工具类吧 。AES、DES、MD5 AES加密解密工具类返回Base64 package cn.builder.util; import org.apache.commons.codec.binary.Base64;
猿码优创
2019/07/28
3.9K0
Java解密解密工具类
JokerDJ
2023/11/27
6820
AES加密
package com.test.util.encrypt; import org.apache.commons.lang3.StringUtils; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.spec.SecretKeySpec; import java.ma
Ryan-Miao
2018/03/13
3.2K0
DES和AES算法加密解密
前言:在api传递过程中或者操作cookie中的参数都是明文,很容易暴露一些用户以及私密的信息。
王念博客
2019/07/24
2.1K0
Java实现AES加密与解密(秘钥)
发布者:全栈程序员栈长,转转请注明出处:https://javaforall.cn/100046.html原文链接:
全栈程序员站长
2021/04/13
7.9K0
区块算法 | 美国联邦政府采用的AES区块标准算法
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准。密码学中的高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
码神联盟
2019/03/07
9460
加密解密AES(证件号、手机号)
AES(Advanced Encryption Standard)是一种对称加密算法,用于保护敏感数据的机密性。它是目前最常用的加密算法之一,被广泛应用于各种领域,包括网络通信、数据存储和传输等。
一百减一是零
2024/07/29
3200
系统安全架构的深度解析与实践
系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。本文将详细介绍系统安全架构的概念,并从前后分层、业务切割、加密设计、鉴别设计、访问控制设计、防火墙设计、入侵监测与维护设计等多个方面,结合Java代码实现,深入探讨系统安全架构的设计与实践。
小马哥学JAVA
2024/11/03
8870
系统安全架构的深度解析与实践
Java使用AES加密解密
AES加密机制: 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。 这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中
二十三年蝉
2018/08/01
5.2K0
系统安全架构的深度解析与实践:Java代码实现
系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。本文将详细介绍系统安全架构的概念,并从前后分层、业务切割、加密设计、鉴别设计、访问控制设计、防火墙设计、入侵监测与维护设计等多个方面,结合Java代码实现,深入探讨系统安全架构的设计与实践。
小马哥学JAVA
2024/11/01
1030
对称加密与非对称加密
优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。
lyb-geek
2022/03/09
2.6K0
AES加解密工具类AESUtil记录
1、首先引入需要的jar包,如下所示: 1 <dependency> 2 <groupId>commons-codec</groupId> 3 <artifactId>commons-codec</artifactId> 4 <version>1.10</version> 5 </dependency> 2、完整的加密,解密代码,如下所示: 1 package com.bie.utils; 2 3 import org.apache.commons.codec.bina
别先生
2020/09/11
2.9K0
AES 加解密(包含JS、VUE、JAVA、MySQL)工具方法
AES 是 Advanced Encryption Standard 的缩写,是最常见的对称加密算法。AES 在密码学中又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES,已经被多方分析且广为全世界所使用。
默存
2024/04/23
2.7K0
AES 加解密(包含JS、VUE、JAVA、MySQL)工具方法
面试题:密码在数据库中如何保存
简介:数据安全,特别是密码的存储非常的重要,下面文章讲解,如何将密码更加安全的存储到数据库中。
GeekLiHua
2025/01/21
2310
常见的加密算法
前端使用开源CryptoJS (crypto.js) 为 JavaScript加密算法,Github地址(https://github.com/brix/crypto-js)。目前已支持的算法包括:
分母为零
2019/07/04
1.8K0
前后端请求AES加解密
AES前后端加解密 前端 安装依赖 npm install --save crypto-js 工具类 const CryptoJS = require("crypto-js"); exports.aes = { // 加密 encrypt: function (str, key) { return CryptoJS.AES.encrypt(str, key).toString(); }, //解密 decrypt: function (str, key) { let b
码客说
2021/05/13
6.1K0
Android开发笔记(七十二)数据加密算法
编码算法 URL编码 URL编码其实并非加解密算法,只是对特殊字符进行字符转义,从而方便在URL中传输参数。URL编码有两种方式,一种是狭义的URL编码,另一种是广义的URL编码。 狭义的URL
aqi00
2019/01/18
8580
Java加解密AES、DES、TripleDES、MD5、SHA
一、AES、DES、TripleDES package xxx.common.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingExc
WindWant
2020/09/11
2.2K0
Android移动开发-Android数据加密与解密的实现「建议收藏」
Demo程序源码下载地址一(GitHub) Demo程序源码下载地址二(Gitee)
全栈程序员站长
2022/08/29
1.2K0
Android移动开发-Android数据加密与解密的实现「建议收藏」
相关推荐
Java 加密工具类 AES , MD5 加密
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档