python libnum库使用方法-RSA

Python032

python libnum库使用方法-RSA,第1张

libnum库是一个关于各种数学运算的函数库,它包含common maths、modular、modular squre roots、primes、factorization、ECC、converting、stuff等方面的函数,个人觉得结合gmpy2库,PyCrypto库一起来使用会使计算变得非常简便。

0x1 安装

目前libnum暂时只支持python2,若是用python3安装会因为没有reduce、xrange而报错。

0x2 常用的Converting

数字型(不论是十六进制还是十进制)与字符串之间的转换:

二进制与字符串之间的转换:

0x3 质数&因数分解

生成质数

因数分解:

https://blog.csdn.net/six66hao/article/details/81814576

https://blog.csdn.net/whatday/article/details/97617461

https://blog.csdn.net/xiongzaiabc/article/details/88400748

https://blog.csdn.net/zhao3587717/article/details/83111082/

一.

非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)

对称加密算法大家共用一个密钥

数字签名: 就是为了证明该信件是确定的人发出的,而不是黑客冒充发出的

eg:

1.鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

二.用RSA库可以生成公钥和私钥

到时候把公钥给前端,后端保存公钥和私钥

三.在用户注册/登入时,输入密码后前端会用JS对密码进行加密传送到后端

一般现在对于密码的加密解密都用RSA进行