TripleDES golang/python/ts 实现方式

编程入门 行业动态 更新时间:2024-10-23 11:29:48

TripleDES golang/python/ts 实现<a href=https://www.elefans.com/category/jswz/34/1771414.html style=方式"/>

TripleDES golang/python/ts 实现方式

2. 实现方式

2.1. react-ts

function encrypt(text){import CryptoJS from 'crypto-js'const key = "saxbj%2xas"const text ="liyuan"const iv = "01234567"const result = CryptoJS.TripleDES.encrypt(text, CryptoJS.enc.Utf8.parse(key), {mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7,iv: CryptoJS.enc.Utf8.parse(iv)})return result
}

2.2.golang (test well)

import ("bytes""crypto/cipher""crypto/des""encoding/base64""fmt"
)func Encrypt(plain string) (string, error) {key := "qwertyuiopasdfghjklzxcvb"block, err := des.NewTripleDESCipher([]byte(key))if err != nil {return "", err}input := []byte(plain)input = PKCS5Padding(input, block.BlockSize())iv := "01234567"blockMode := cipher.NewCBCEncrypter(block, []byte(iv))crypted := make([]byte, len(input))blockMode.CryptBlocks(crypted, input)return base64.StdEncoding.EncodeToString(crypted), err
}func PKCS5Padding(input []byte, blockSize int) []byte {padding := blockSize - len(input)%blockSizepadText := bytes.Repeat([]byte{byte(padding)}, padding)return append(input, padText...)
}func main() {s, err := Encrypt("yuanli")if err != nil {panic(err)}fmt.Println(s) # Z82teOQw6FE=
}

2.3. python

class TripleDESEncryption():def __init__(self, key):self.key = keyself.iv = b'01234567'self.length = DES3.block_sizeself.des3 = DES3.new(self.key, DES3.MODE_CBC, self.iv)self.unpad = lamda date: date[0:-ord(date[-1])]def pad(self,text):count = len(text.encode('utf-8'))add = self.length - (count%self.length)entext = text + (chr(add) * add)return entextdef encrypt(self, text):res = self.des3.encrypt(self.pad(text).encode('utf-8'))message = str(base64.b64encode(res), encoding="utf8")return message

更多推荐

TripleDES golang/python/ts 实现方式

本文发布于:2023-11-15 21:49:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1606856.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方式   golang   TripleDES   ts   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!