【问题标题】:Creating passwords for Joomla 2.5 with C#使用 C# 为 Joomla 2.5 创建密码
【发布时间】:2014-11-18 01:28:54
【问题描述】:

我正在尝试使用 C# 创建 Joomla 2.5 的新密码。

我尝试过使用MD5CryptoService 散列一些pass 然后连接一个包含32 个字符的盐字符串的方法,但没有成功。

var provider = new MD5CryptoServiceProvider();

var bytesFromPassword = System.Text.Encoding.ASCII.GetBytes("my_password");
var hash = provider.ComputeHash(bytesFromPassword);

Random random = new Random((int) DateTime.Now.Ticks);
byte[] salt = new byte[32];
random.NextBytes(salt);

string hashTo64 = Convert.ToBase64String(hash);
string saltTo64 = Convert.ToBase64String(salt);

var formattedPassword = string.Format("{0}:{1}", hashTo64, saltTo64);

这段代码有问题吗?

我需要改变什么吗?

Joomla 2.5 是否使用与我尝试使用的这种方式不同的新加密方法?

谢谢大家!

【问题讨论】:

    标签: c# joomla2.5


    【解决方案1】:

    我用下面这两个问题解决了这个问题:

    using php to create a joomla user password?

    How convert byte array to string

    希望它也可以帮助别人!

    【讨论】:

      【解决方案2】:

      目前您正在创建的盐不用于对密码进行加盐。根据我对 Joomla 的理解,密码保存为十六进制字符串。

      首先,您必须在 bytesFromPassword 中包含盐

      var salt = "ThereAreManySaltsButThisOneIsMine";
      var bytesFromPassword = Encoding.ASCII.GetBytes("my_password" + salt);
      var hash = provider.ComputeHash(bytesFromPassword);
      
      var hashString = GenerateHexadecimalStringFromBytes(hash);
      var formattedPassword = string.Format("{0}:{1}", hashString, salt);
      

      将字节数组转换为十六进制字符串的辅助方法:

      private static string GenerateHexadecimalStringFromBytes(byte[] hash)
      {
              StringBuilder sBuilder = new StringBuilder();
      
              // Loop through each byte of the hashed data  
              // and format each one as a hexadecimal string. 
              foreach (byte t in hash)
              {
                  sBuilder.Append(t.ToString("x2"));
              }
              return sBuilder.ToString();
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        • 1970-01-01
        • 2012-06-21
        • 2012-11-21
        • 1970-01-01
        • 1970-01-01
        • 2014-10-08
        相关资源
        最近更新 更多