ucryptolib – 密码学

函数接口


加密/解密模块

常量

ucryptolib.MODE_ECB
ucryptolib.MODE_CBC
ucryptolib.MODE_CTR
ucryptolib.aes(key, mode, IV)[源代码]

初始化一个密码对象 (cipher) 用于加密/解密操作。注意:初始化后, cipher 对象只能用于加密或解密。 不允许创建一个密码对象(cipher) 同时用于加密()、解密()操作:

crypto = aes(b"1234" * 4, 1)
enc = bytearray(32)
crypto.encrypt(bytes(range(32)), enc)
print(enc)

crypto = aes(b"1234" * 4, 1)
dec = bytearray(32)
crypto.decrypt(enc, dec)
print(dec)
参数
  • key – 加密/解密 秘钥。(bytes格式)

  • mode – 加密/解密模式: * 1 (or ucryptolib.MODE_ECB) 表示 电子密码本 (Electronic Code Book). * 2 (or ucryptolib.MODE_CBC) 表示 密码块链接 (Cipher Block Chaining). * 6 (or ucryptolib.MODE_CTR) 表示 计数器模式 (Counter mode).

  • IV – 是CBC模式的初始化向量。在计数器模式下,IV 为计数器的初始值

返回

密码对象 cipher

ucryptolib.encrypt(in_buf, out_buf)[源代码]

加密 in_buf

如果没有给出 out_buf,则返回结果为新分配的 bytes 对象。否则,结果被写入 可变的缓冲 out_bufin_bufout_buf 也可以使用相同的可变缓冲区。

参数
  • in_buf – 待加密数据。

  • out_buf – 加密后输出数据,该参数可以不指定,未指定则在返回参数中携带加密数据。

返回

空 或者 加密后数据

ucryptolib.dencrypt(in_buf, out_buf)[源代码]

解密 in_buf

参数
  • in_buf – 待解密数据。

  • out_buf – 解密后输出数据,该参数可以不指定,未指定则在返回参数中携带解密数据。

返回

空 或者 解密后数据