当你想把你url中的id变成随机字符串,避免被爬虫时你会用到这个工具,Hashids可以将任意字符转换成随机字符串,并能够反编码回来,talk is cheap,show code。
1.安装
pip install hashids
mac用户请使用如下命令安装:
pip install hashids --user
2.初始化
import hashids
hasher = hashids.Hashids(salt='你的密钥', min_length=4, alphabet='abcdefghijklmnop')
hashids提供了三个可选的初始化参数,当都不填时,hashids实现的功能基本就是hash化,下面介绍三个参数含义:
1)salt:生成随机字符串的种子
2)min_length:生成的随机字符串的长度
3)alphabet:生成的随机字符串内容必须是alphabet中的,alphabet长度最少16位
3. 提供的函数
1)encode和encrypt:加密,encrypt和encode作用用法一样,看了源码encrypt会在v2版本被弃用,只能加密int类型
>>> hasher.encode(1234)
'1lj'
>>> hasher.encrypt(1234)
'1lj'
2)decode和decrypt:解密,decode和decrypt作用用法一样,看了源码decrypt会在v2版本被弃用
>>> hasher.decode('1lj')
(1234,)
>>> hasher.decrypt('1lj')
(1234,)
3)encode_hex和decode_hex:用来加解密可以转换位int类型的字符串,比如mongo的id是字符串型的数字
>>> hasher.encode_hex('1234')
'qyMp'
>>> hasher.decode_hex('qyMp')
'1234'