首页 > 编程语言 >附录B JAVA版DES加密/解密

附录B JAVA版DES加密/解密

时间:2022-09-28 14:46:39浏览次数:48  
标签:JAVA String DES 解密 Cipher key message cipher

/* DES解密 */
public static String decrypt(String message, String key) throws Exception {

    byte[] bytesrc = Base64.decode(message);
    //convertHexString(message);
    Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
    DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
    SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
    IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
    cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
    byte[] retByte = cipher.doFinal(bytesrc);
    return new String(retByte);
}

/* DES加密 */
public static byte[] encrypt(String message, String key) throws Exception {
    Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
    DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
    SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
    IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
    cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
    return cipher.doFinal(message.getBytes("UTF-8"));
}

 

标签:JAVA,String,DES,解密,Cipher,key,message,cipher
From: https://www.cnblogs.com/zhangjun19991118/p/16737971.html

相关文章

  • javaScript--4 onchange 事件
    <!DOCTYPEhtml><html><head><title>事件</title></head><body><h2>----------------onchange事件--------------------</h2><!--onchange事......
  • 直播软件app开发,JavaScript应用定时器实现倒计时
    直播软件app开发,JavaScript应用定时器实现倒计时 <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title></head><body>手机号码:<inputtype="text"/><bu......
  • mitudesk的numpy日记 赋值与切片
    1.赋值与切片,就是按照惯常的方式去赋值,去切片,和之前的list切片很像2.高级索引第一种就是直接二维数组的方式,直接通过[1][1]的这种形式来访问第二种是通过元组的固定坐标......
  • 直播开发app,JavaScript生成随机数
    直播开发app,JavaScript生成随机数<scripttype="text/javascript">//产生随机数functiongetRandom(min,max){vara=Math.floor((Math.random())*(max-1+min)+min)return......
  • Java枚举类Demo
    Java枚举类案例 packagecom.loit.common.enums;​​/***@authorzhaokz*@date2022/9/7*编码枚举*/publicenumCodeEnum{​  /**  *性别  */......
  • Java的try-resource
    原来是这个,这个是之前的trycatch,包括最后进行关流等操作。privateStringgetBodyString(finalServletRequestrequest)throwsIOException{StringBuilder......
  • Java基础知识练习
    Java基础知识练习1、if语句实现减肥计划:packagecom.itheima;/*使用if语句实现星期计划*///导包importjava.util.Scanner;publicclassTest01{publics......
  • 基于SSM家庭健康食谱管理系统Java美食食谱管理系统的设计与实现(源码调试+讲解+文档)
    ......
  • Java面向对象基础
    Java面向对象基础一、类和对象1、什么是对象:万物皆对象,客观存在的事物皆可为对象2、面向对象:关注事物的信息,对事物的属性和行为有一定了解3、什么是类:对生活......
  • Java流程控制07(循环结构2)
    for循环在Java5中引进了一种主要用于数组的增强型for循环For循环:虽然所有的循环结构都可以用while或do...while表示,但Java提供了另一种语句--for循环,使一些循环结构......