小精灵

multikdf的Python项目详细描述


pymultikdf

< div >
这个python模块为实现
以下键派生函数(kdf):
  • pbkdf2
  • Bcrypt
  • scrypt

什么是密钥派生函数?

来自维基百科( https://en.wikipedia.org/wiki/key_derivation_function ):

在密码学中,密钥派生函数(或kdf)派生一个或多个 来自密钥值的密钥,如主密钥、密码或 使用伪随机函数的密码短语。[1][2]kdfs可用于 将键拉伸成更长的键或获取所需格式的键, 例如转换由 Diffie–Hellman密钥交换为对称密钥,用于AES。键控的 密码散列函数是伪随机的常见例子 用于密钥派生的函数。

什么是pbkdf2?

pbkdf2(基于密码的密钥派生函数2)是密钥派生函数 作为rsa实验室公钥密码的一部分的函数 标准(PKCS)系列,特别是PKCS 5 v2.0,也发布为 互联网工程特别工作组的RFC 2898。它取代了以前的 标准的,pbkdf1,它只能产生高达160位的派生密钥 长,

参见: https://en.wikipedia.org/wiki/pbkdf2

什么是BCRYPT?

bcrypt是niels设计的密码密钥派生函数。 provos和david mazi_res,基于blowfish密码,提出了 在1999年的乌塞尼克斯。[1]除了加入盐来防止 彩虹表攻击,bcrypt是一个自适应函数:随着时间的推移, 迭代次数可以增加以使其变慢,因此它保持不变 即使计算量增加,也能抵抗暴力搜索攻击 功率:

bcrypt函数是bsd和 其他系统,包括一些Linux发行版,如SUSE Linux。[2] 阴影中哈希字符串中的前缀"$2a$"或"$2b$"(或"$2y$") 密码文件指示哈希字符串是模块化的bcrypt哈希 crypt格式。[3]散列字符串的其余部分包括成本 参数,128位的salt(base-64编码为22个字符)和184 结果哈希值的位(base-64编码为31个字符)。[4] cost参数指定密钥扩展迭代计数为幂 其中两个是密码算法的输入。

参见: https://en.wikipedia.org/wiki/bcrypt

什么是scrypt?

在密码学中,scrypt是一个基于密码的密钥派生函数 由colin percival创建,最初用于tarsnap在线备份 服务。[1]该算法是专门为使 通过需要大量 记忆。2012年,ietf将scrypt算法作为 Internet草稿,旨在成为信息性RFC。[2]

参见: https://en.wikipedia.org/wiki/scrypt

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Eclipse Helios for Web项目   java指定行。作为编译器设置的分隔符?   osm映射中带有osmdroid的java标记   java Android ClassNotFoundException在路径:DexPathList上未找到类   java从j2me调用GWT方法   更新到java 8后的aspectj问题   如何仅从根元素java,com提取文本内容。滴虫软件。是的。html   安卓公司。谷歌。火基。数据库DatabaseException:未能转换java类型的值。将字符串改为长字符串   从java中的方法返回arraylist变量   java如果将引用重新分配给同步块内的锁对象,会是什么?   java下载。使用spring mvc的资源文件中的xlsx文件   java Eclipse提供了什么工具来运行Eclipse中未包含的程序?   spring boot Java泛型如何读取传递给泛型方法的类型上的字段或调用方法   Javacard中的javaecdsa签名