< 返回版块

93996817 发表于 2021-02-10 13:26

Tags:DES

需要用到DES加密,找了下 openssl里有所需要的功能 这里记录下

fn main() {
    // cargo add openssl
    use openssl::symm::{encrypt, Cipher};
    let cipher = Cipher::des_cbc();
    let data = b"abcdefg:hijklmm";
    let key  = b"16168168";
    let iv   = b"08618616";
    let ciphertext = encrypt(cipher, key, Some(iv), data);
    println!("{:?}", openssl::base64::encode_block(&ciphertext.unwrap()));
    //"ig49ibezbgMqo+hFpdNS+g=="
}

python

def DES(key, IV, target):
    # import base64
    # import pyDes
    btKey =key.encode(encoding='utf8')
    btIV  =IV.encode(encoding='utf8')
    k = pyDes.des(btKey, mode=pyDes.CBC, IV=btIV, pad=None, padmode=pyDes.PAD_PKCS5)
    en = k.encrypt(target)
    data=base64.b64encode(en).decode('ascii')
    return data
    ##  data=ig49ibezbgMqo+hFpdNS+g==

评论区

写评论

还没有评论

1 共 0 条评论, 1 页