# desSys
**Repository Path**: cjlhjs/desSys
## Basic Information
- **Project Name**: desSys
- **Description**: 对称加密解密相关实践
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-10-18
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# desSys
**
### 开发语言及开发工具
**
操作系统: windows 10
Web服务器:Tomcat 9.0
Java版本: JDK 1.8
开发工具: IntelliJ IDEA 2016.3.4(64)
**
### 字符串加密
**
由于DES加密和解密过程中,密钥长度都必须是8的倍数,所以应该在后台通过字符串处理,将密钥改为8的倍数,初始化模式为DES加密模式。然后将需要加
密的字符串转化为byte数组,再进行加密。加密得到的byte数组转化为密文字符串,返回前台输出。传入待加密字符串和加密密钥,通过调用
getstrByte()方法得到字符串的byte数组,然后使用substring方法截取前8位,并使用toUpperCase方法,将小写字符转为大写,然后使用ASCII统
一编码把密钥字符串转为字节数组。使用CBC模式初始化Cipher对象,然后使用密钥初始化DESKeySpec对象,为密钥创建一个指定的 DESSede key。
初始化密钥工厂DESKeySpec 并指定使用DES加密方法。再调用generateSecret方法生成一个 DESede 密钥。初始化cipher对象使用加密模式,调
用doFinal方法执行加密操作,最终传出加密后的字符串jmstr。
**
### 字符串解密
**
传入待解密密文和密钥,通过convertHexString()方法将密文字符串转为byte数组,然后使用substring方法截取前8位,并使用toUpperCase方法,
将小写字符转为大写,然后使用ASCII统一编码把密钥字符串转为字节数组。使用CBC模式初始化Cipher对象,然后使用密钥初始化DESKeySpec对象,
为密钥创建一个指定的 DESSede key。初始化密钥工厂DESKeySpec 并指定使用DES加密方法。再调用generateSecret方法生成一个 DESede 密钥。
初始化cipher对象使用解密模式,调用doFinal方法执行加密操作,最终传出解密后的字符串。
### **项目演示
**




