[英]Ruby string#crypt in c# and php
我有一个ruby客户端程序,用字符串#crypt加密密码,如此
encrypted = password.crypt(SALT)
# removing first two characters which actually are the salt for safety
return encrypted[2, encrypted.size - 2]
然后将其发送到服务器以与其存储的预加密字符串进行比较。 我怎么能够从ac#app和php网页发送相同的加密密码,并且仍然能够使用来自任何其他客户端的相同密码登录。
加密的C#和php中的等效代码是什么?
C
crypt()是密码加密函数。 它基于数据加密标准算法,其中包含(以及其他内容)的变体,以阻止使用密钥搜索的硬件实现。
key是用户输入的密码。
salt是从集合[a-zA-Z0-9./]中选择的双字符串。 该字符串用于以4096种不同方式之一扰乱算法。
红宝石
通过调用标准库函数crypt将单向加密哈希应用于str。 参数是salt字符串,它应该是两个字符长,每个字符都是从[a-zA-Z0-9./]中提取的。
PHP
crypt()将使用标准的基于Unix DES的加密算法或系统上可用的替代算法返回加密字符串。
蟒蛇
该模块实现了crypt(3)例程的接口,该例程是基于修改的DES算法的单向散列函数;
C#
.NET Framework不包含Unix crypt函数的API,但是这里有一些提供实现的库:
CryptAPI是一个C#库,它包含.NET框架中的未实现算法(NT,NTLM,BlowFish,DES和MD5),用于链接和模拟在C#中重新编程的crypt()unix函数。 主要目的是提供向后兼容性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.