python3中rsa加密说明
时间:2023-12-20 01:37:02
rsa加密是一种加密算法。目前,加密算法是加密数据和密码。第一次接触rsa加密算法是linux中免密登录设置一直认为密钥加密就像token同样,直到现在才发现不是,而是一种数据加密的方式,其实是可以理解的Linux理解设计哲学:一切都是文件,可以把它们理解为类似的东西。只是拿a字符串和b字符串进行比较,如果返回trun,然后可以进行下一步操作,否则会返回异常。
其实这里有一个逻辑,就是先加密数据,然后传输数据。收到数据后,发现数据是乱码或加密数据,需要解密数据才能看到实际数据。
因此,在传统的加密过程中,我们可以获得许多接口中的数据,但获得的数据是无序的代码。一般来说,如果您想继续增加安全性,您可以在获取数据时添加签名,即在返回访问接口服务的数据时进行验证,并在他发送接收数据请求时拒绝他。
也就是说,目前的接口加密实际上从两点开始:
1、接收数据请求(数据返回前)
二、数据本身加密(数据返回后)(如果请求,返回数据,但我赌他拿到数据不会解释。
目前,我能想到的加密方案是加密字符串或一些标识符,即数据返回前发生的事件。我不知道其他老板是否还有其他骚操作。
实现技术测试:
在这里使用rsa直接接进行,python另一个加密的第三方库pycryptodome,两个包都可以实现。在这里使用。rsa。
简单说一下代码逻辑,也做了几个测试,
直接生成密钥,然后加密解密,
二、先生成密钥,然后将密钥写入文件保留,再读出使用
三、直接生成密钥,然后将密钥写成字符串,放入代码中,直接使用
事实上,从逻辑上讲,上述三种应该得到支持。如果不支持,过程中某个地方的格式应该有问题。需要定期处理。
在使用过程中,需要特别注意的是需要加密的字符串encoding,需要解密decode。别忘了这一点。否则,您会发现加密时会报错。
import rsa
def secorty_data(): (pub_key,sec_key) = rsa.newkeys(1024) pub = pub_key.save_pkcs1() file = open('./pub.pem','wb ') file.write(pub) sec = sec_key.save_pkcs1() files = open('./sec.pem','wb ') files.write(sec)
def create_rsa(): file = open('./pub.pem','rb') content = file.read() print(content) file1 = open('./sec.pem','rb') content1 = file1.read() print(content1) pub_key = rsa.PublicKey.load_pkcs1(content) sec_key = rsa.PrivateKey.load_pkcs1(content1) message = 今天的天气有点热,但整体还是很好的 data = rsa.encrypt(message.encode(),pub_key) print(data) result = rsa.decrypt(data,sec_key) print(result.decode())
if __name__ == '__main__':
secorty_data()
create_rsa()