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

java后台怎么解密md5,Java md5 密码加解密传入同一密钥如:key123456进行加密解密packagecom.pub;importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySp…

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

传入同一密钥如: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;

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2021编程语言排行榜出炉

    2021编程语言排行榜出炉今日,IEEESpectrum发布了2021年度编程语言排行榜,其中Python在总榜单以及其他几个分榜单中依然牢牢占据第一名的位置。另外值得关注的是微软C#语言,它的排行从2020年的第23名跃升至了今年的第6名,称得上是今年的大势语言。2021年度编程语言排行榜依然从8个信息源按照11种指标收集数据,最终得到了数十种编程语言流行度的整体排名。这8个信息源分别为CareerBuilder、GitHub、Google、HackerNews、IEEE、Reddi

  • 【一个整蛊人的小程序】c++,鼠标控制

    【一个整蛊人的小程序】c++,鼠标控制

  • vue引入js文件并使用_css引入js

    vue引入js文件并使用_css引入js1.处理js文件,注意格式,一定要export,否则获取到的为null2.在Vue中引入jsimportallinfofrom”../../../../static/js/allinfo.js”;3.使用js中的数据vardata=allinfo.属性名称;

  • docker的端口映射_外网远程桌面端口映射

    docker的端口映射_外网远程桌面端口映射Docker端口映射实现网络访问首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!我会在当天或者第二天及时回复,并且改进~~Docker运行容器之后却发现没IP,没端口,那要如何访问容器呢?下面我来介绍下Docker通过端口映射来实现网络访问一、从外部访问容器应用在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数指定端口映射。先来说说p和P吧-p可以指定要映射的端口,并

  • Go语言面试题汇总[通俗易懂]

    Go语言面试题汇总[通俗易懂]正在准备golang面试的小伙伴,很荣幸,你能看到这篇文章,希望每一个看到这篇分享的小伙伴都能找到自己称心如意的工作!1、说说go语言的main函数(1)、main函数不能带参数。(2)、main函数不能定义返回值。(3)、main函数所在的包必须为main包。(4)、main函数中可以使用flag包来获取和解析命令行参数。2、在go语言中,new和make的区别?new函数是内建函…

  • request.getRealPath()方法不推荐使用

    request.getRealPath()方法不推荐使用ServletActionContext.getRequest().getRealPath(“”);getRealPath上面有删除线是因为已经不推荐这样使用了ThemethodgetRealPath(String)fromthetypeServletRequestisdeprecated可以使用ServletActionContext.getRequest().

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号