爬虫(二)前端加密算法之AES-CBC

前端加密算法之AES-CBC

一、简介

	CBC模式的AES加密相比较于ECB模式,多了一个偏移量,所以安全性要比ECB模式高

二、实现(核心加密js)

	和前篇ECB模式一样这里都是直接采用调用js的方式实现了加密;
	当然纯python方式加密也是可以的,则需要	安装pycryptodome 模块
	pycryptodome :一个强大的加密算法库,和crypto,pycrypto类似,但是后者貌似已经没人维护了

直接安装:pip install pycryptodome

function get_result(password, lol){
      var pwd =  CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(password), CryptoJS.enc.Utf8.parse(lol),{
            iv: CryptoJS.enc.Utf8.parse(lol),
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        }).toString();
        return encodeURIComponent(pwd);
  }

python方式(引用待验证-我在项目中尚未验证可行性,后面有机会我得再看看):

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from Crypto.Random import get_random_bytes

# 要加密的内容
data = b"123456"
# 随机生成16字节(即128位)的加密密钥
key = get_random_bytes(16)
# 实例化加密套件,使用CBC模式
cipher = AES.new(key, AES.MODE_CBC)
# 对内容进行加密,pad函数用于分组和填充
encrypted_data = cipher.encrypt(pad(data, AES.block_size))

# 将加密内容写入文件
file_out = open("encrypted.bin", "wb")
# 在文件中依次写入key、iv和密文encrypted_data
[file_out.write(x) for x in (key, cipher.iv,  encrypted_data)]

三、调用

见前端加密算法之ECB-AES

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值