加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

比较C#和ColdFusion(CFMX_COMPAT)之间的密码哈希值

发布时间:2020-12-15 18:09:56 所属栏目:百科 来源:网络整理
导读:我有一个密码哈希存储在一个表中,并通过以下coldfusion脚本放在那里 – #Hash(Encrypt(Form.UserPassword,GetSiteVars.EnCode))# 我试图在c#应用程序中添加一些外部功能.我希望能够利用已存在的数据,以便我可以对用户进行身份验证.有谁知道如何在c#中复制上
我有一个密码哈希存储在一个表中,并通过以下coldfusion脚本放在那里 –
#Hash(Encrypt(Form.UserPassword,GetSiteVars.EnCode))#

我试图在c#应用程序中添加一些外部功能.我希望能够利用已存在的数据,以便我可以对用户进行身份验证.有谁知道如何在c#中复制上面的coldfusion代码?

谢谢你的任何想法.

解决方法

我将保留下面的原始答案内容以供历史参考,但应该注意的是,这不是原始问题的有效答案.

相反,请参阅2011年1月@Terrapin在此主题中的最高投票答案.我希望OP看到这个并且可以更改已接受的答案.哎呀,我甚至会标记模组,看看是否可以做任何事情.

为了建立爱德华史密斯的答案,以及czuroski的后续评论,这是我的解决方案.

首先,你需要在C#中使用XOR函数,我从here开始并略微修改.

using System;
using System.Collections.Generic;
using System.Text;

namespace SimpleXOREncryption
{    
    public static class EncryptorDecryptor
    {
        public static string EncryptDecrypt(string textToEncrypt,int key)
        {            
            StringBuilder inSb = new StringBuilder(textToEncrypt);
            StringBuilder outSb = new StringBuilder(textToEncrypt.Length);
            char c;
            for (int i = 0; i < textToEncrypt.Length; i++)
            {
                c = inSb[i];
                c = (char)(c ^ key);
                outSb.Append(c);
            }
            return outSb.ToString();
        }   
    }
}

然后,取XOR的结果并对其进行base-64编码.拥有该字符串后,MD5将其哈希.结果应与原始代码段的结果匹配:

#Hash(Encrypt(Form.UserPassword,GetSiteVars.EnCode))#

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读