#DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法
对称加密算法DES的使用
package main
//DES,3DES,AES
//用同一个秘钥加密和解密
import (
"bytes"
"crypto/cipher" //cipher密码
"crypto/des"
"encoding/base64" //将对象转换成字符串
"fmt"
)
//DES加密方法
func MyDesEncrypt(origData, key []byte) {
block, _ := des.NewCipher(key)
//将明文按秘钥的长度做补码运算
origData = PKCS5Padding(origData, block.BlockSize())
//设置加密方式
blockMode := cipher.NewCBCDecrypter(block, key)
//创建明文长度的字节数组
crypted := make([]byte, len(origData))
//加密明文
blockMode.CryptBlocks(crypted, origData)
//将字节数组转换成字符串
fmt.Println(base64.StdEncoding.EncodeToString(crypted))
}
//DES解密方法
func MyDESDecrypt(data string, key []byte) {
//将字符串转换成字节数组
crypted, _ := base64.StdEncoding.DecodeString(data)
//将字节秘钥转换成block快
block, _ := des.