【问题标题】:.Net chatroom hash (eStreamChat).Net 聊天室哈希 (eStreamChat)
【发布时间】:2013-04-26 04:00:28
【问题描述】:

我有一个特定于eStreamChat(.Net 的开源聊天室)的问题。他们网站上的文档或在线示例似乎没有太多内容,因此如果有人可以提供帮助,那就太好了。我认为问题出在我的哈希上。

到目前为止,我已经成功地下载并导入了项目并设置了一个虚拟 IIS 目录,以便我可以在自己的应用程序中使用它。我在自己的一个网页上创建了一个链接,将我带到他们的ChatRoom.aspx 网页。将我带到那里的链接采用所需格式,例如:

http://localhost:10833/eStreamChat/ChatRoom.aspx?id=lowens&timestamp=130425080917&hash=eb9fa849033cbf7b967ba472efb46363903f96dc

页面加载,我可以看到聊天室,但弹出以下错误消息:无法加入聊天室!哈希无效!

为了做到这一点,我已按照this page: 上的说明进行操作

我不明白的唯一一行是:您可以从 web.config 文件配置密钥所以也许有人可以解释我应该在网络上做什么.config 可能会有所帮助。

引发的错误来自RemoteAuthUserProvider.cs。代码如下:

NameValueCollection hrefParams = HttpUtility.ParseQueryString(hrefUri.Query);

var calculatedHash = Miscellaneous.CalculateChatAuthHash(hrefParams["id"] ?? String.Empty,
                hrefParams["target"] ?? String.Empty, hrefParams["timestamp"]);

if (hrefParams["hash"] != calculatedHash)
{
    throw new SecurityException("Hash is invalid!");
}

调试后:

hrefParams["hash"] 是“eb9fa849033cbf7b967ba472efb46363903f96dc”这是

calculatedHash 是“5129cf1cf65350a387ce53a2b0d31c960f9d96d3”

那么为什么那个哈希值不一样呢?

干杯

【问题讨论】:

    标签: c# .net hash chat sha


    【解决方案1】:

    在 appSettings 的 Web.config 中需要一个值:

    <appSettings> 
        <add key="AuthSecretKey" value="ENTER A VALUE HERE"/>
    </appSettings>
    

    这个值需要和网站提供的click方法中的secretKey匹配,这样hash才能匹配。

    【讨论】:

    • 你现在让它工作了吗?我有另一个关于缺少 Microsoft.Practices.Unity.resources.dll 的问题。你对此有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-09-22
    • 2021-12-02
    • 1970-01-01
    • 2016-01-18
    • 2014-10-17
    • 2012-06-25
    • 2012-01-29
    • 2014-04-24
    相关资源
    最近更新 更多