繁体   English   中英

Ruby#string在c#和php中加密

[英]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

  • 隐窝(3)

    crypt()是密码加密函数。 它基于数据加密标准算法,其中包含(以及其他内容)的变体,以阻止使用密钥搜索的硬件实现。

    key是用户输入的密码。

    salt是从集合[a-zA-Z0-9./]中选择的双字符串。 该字符串用于以4096种不同方式之一扰乱算法。

红宝石

  • 隐窝

    通过调用标准库函数crypt将单向加密哈希应用于str。 参数是salt字符串,它应该是两个字符长,每个字符都是从[a-zA-Z0-9./]中提取的。

PHP

  • 隐窝

    crypt()将使用标准的基于Unix DES的加密算法或系统上可用的替代算法返回加密字符串。

蟒蛇

  • crypt.crypt

    该模块实现了crypt(3)例程的接口,该例程是基于修改的DES算法的单向散列函数;

C#

.NET Framework不包含Unix crypt函数的API,但是这里有一些提供实现的库:

  • CryptAPI

    CryptAPI是一个C#库,它包含.NET框架中的未实现算法(NT,NTLM,BlowFish,DES和MD5),用于链接和模拟在C#中重新编程的crypt()unix函数。 主要目的是提供向后兼容性。

  • Unix crypt的AC#实现()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM