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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言内存模型详细介绍_堆栈介绍

    C语言内存模型详细介绍_堆栈介绍(命令行参数区其实就是在通过dos或shell脚本调用时传递的参数,比如:a.exe123123)上图是C语言内存模型,其实虽然说叫C语言内存模型,其实并不是叫C语言内存模型,而是C语言根据CPU处理器搭建出来的一个模型!在开始介绍这些之前,读者需要了解一些体系结构:冯诺依曼体系:把程序本身当作数据来对待,程序指令和该程序处理的数据用同样的方式储存。冯·诺依曼体系结构的要点是:计算机的数制和…

    2022年6月7日
    113
  • 趣味隐写术与密码术(现代密码学教程)

    实验吧密码学WriteUp三)

    2022年4月14日
    113
  • linux服务器部署kvm

    linux服务器部署kvm

    2021年6月3日
    113
  • overflow:hidden作用能治住塌陷_html溢出隐藏代码

    overflow:hidden作用能治住塌陷_html溢出隐藏代码一.overflow:hidden溢出隐藏给一个元素中设置overflow:hidden,那么该元素的内容若超出了给定的宽度和高度属性,那么超出的部分将会被隐藏,不占位。/*css样式*/<styletype=”text/css”>div{width:150px;height:60px;background:skyblue; overflo…

    2025年5月27日
    2
  • Apache配置详解(最好的APACHE配置教程)

    Apache配置详解(最好的APACHE配置教程)Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。主站点的配置(基本配置)(1)基本配置:ServerRoot”/mnt/software/apache2″#你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。PidFilelogs/httpd.pid#第一个httpd进程(所有其他进程的父

    2022年7月14日
    20
  • foc无刷电机位置控制(直流无刷电机接线图解)

    序:矢量控制的核心思想是为了简化无刷电机的控制模型,将一个需要换相的无刷电机通过各种算法变换,抽象为一个直流电机的控制模型,只需要控制简单的两个直流分量来控制无刷电机,其中Vq抽象为直流电机的两端电压,Vd可调节电机力矩,但这个模型需要一个实时的电机轴角度θ参与计算。为了实现这个直流电机的控制模型,需要用到两个数学变换,即clarke变换和park变换。需要用到最原始的PID控制器等内容。…

    2022年4月11日
    384

发表回复

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

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