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;

}

}

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • laravel5.6 调用第三方类库

    laravel5.6 调用第三方类库

    2021年11月5日
  • android官方原生主题,原生Android可以更换系统主题吗?

    android官方原生主题,原生Android可以更换系统主题吗?现在越来越多的智能手机用户喜欢使用原生的Android系统,因为原生Android系统更加纯净流畅,没有乱七八糟的第三方厂商软件预装,安全性更高,最重要的是原生Android可以最快获得系统更新。也有人喜欢用第三方定制的安卓系统,是因为它的可玩性更高,而其中可更换主题的功能更是受一众玩家欢迎。不过对于原生Android系统的用户来说,想要平时随随便便更换主题可不是件容易的事。原生Android用户…

    2022年6月19日
  • Java学习之常用类篇

    Java学习之常用类篇0x00前言在开发中难免调用到各种api来开发程序,那就先来学习一下api的一些相关概念。0x01api的使用首先还是得来看看api的一个解释。API(Applic

    2021年12月11日
  • 创建选区快捷键是什么_Photoshop选区操作的快捷键

    创建选区快捷键是什么_Photoshop选区操作的快捷键1.使用快捷键快速操作.F1-帮助F2-剪切F3-拷贝F4-粘贴F5-隐藏/显示画笔面板F6-隐藏/显示颜色面板F7-隐藏/显示图层面板F8-隐藏/显示信息面板F9-隐藏/显示动作面板F12-恢复Shift+f5-填充Shift+f6-羽化Shift+f7-选择→反选ctrl+h-隐藏选定区域ctrl+d-取消选定区域ctrl+w-关闭文件ctrl+Q-退出PHOTOSHOPEsc-取消操作…

    2022年6月15日
  • split 方法_subsequence和substring的区别

    split 方法_subsequence和substring的区别1,split方法split()方法用于把一个字符串分割成字符串数组。例如:数据中现在有这样一个结果128b8f730592cc8db33ea52985127d44,44bee6555822d8321d2d1a2c1ac3b2cf,b2f939f26e512934e165f3e784cc74ca,我需要把这个字符串变成数组 console.log(res.result.produc…

    2022年9月25日
  • mysql longtext 查询_mysql中longtext存在大量数据时,会导致查询很慢?

    mysql longtext 查询_mysql中longtext存在大量数据时,会导致查询很慢?一个表,1.5w条数据,字段:id,name,content,last_update_timeid,自定义主键name,varchar类型content是longtext类型,last_update_time为datetime类型,不为空content当中是文本和代码等,平均长度在20k+。case1:selectid,namefromtorderbylast_update_tim…

    2022年5月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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