在ASP.net中复制PHPBB密码哈希c#
我目前正在使用phpbb 3.0.8.它拥有3,000名用户和约60,000个帖子.我正在将论坛改为另一个,用经典的ASP编写(我知道人们会对此不赞成,但我有充分的理由).
我的网站是用ASP.net编写的.经典的ASP论坛有一个连接它的API.我把所有这些都设置好了,它运行正常.我已经写了自己的登录表单. 我想复制所有用户帐户.目前的论坛有表: Username | Password | Hash | Salt 我已经覆盖了经典的ASP哈希技术,现在使用ASP.net Security.SHA1哈希.密码存储为SHA1(rawpassword salt). 我的计划是将新字段存储在当前字段旁边: UserID | Password | Hash | Salt | PHPBBHash 当用户登录时,如果设置了PHPBB hashh字段,则会使用PHPBB哈希哈希密码.然后,如果登录成功,它将删除PHPBBHash字段,并创建当前系统哈希值.这样,这是从PHPBB到新论坛的平稳过渡,没有人丢失他们的帐户. 我的问题是,给定PHPBB哈希,用户名和密码,在ASP.net中c#如何验证PHPBB哈希?它是如何计算的? 我担心的是经典的ASP哈希函数声称是SHA1,但它产生了与Securiy.SHA1不同的结果. 编辑 如果有人能给我一个明确的解决方案,我会对此表示赏心悦目,我很欣赏链接到资源的答案,但我仍然在努力理解它. 测试用例 原始密码: blingblangblaow222 在PHPBB3数据库中: username: Tom username_clean: tom user_password: $H$9ojo08A3LuhnkXR27p.WK7dJmOdazh0 user_passchg: 1301433947 user_form_salt: 637f480dfdab84ef 使用Vishalgiris回答的示例代码,我们这样做: phpBB.phpBBCryptoServiceProvider cPhpBB = new phpBB.phpBBCryptoServiceProvider(); string remoteHash = "$H$9ojo08A3LuhnkXR27p.WK7dJmOdazh0"; bool result = cPhpBB.phpbbCheckHash("blingblangblaow222",remoteHash); Response.Write("<BR><BR><BR>" + result); 这实际上返回true.超!但有谁知道为什么这有效?我很困惑,它似乎根本不考虑盐. 解决方法
好像你的答案是
here at phpBB community,但是你已经知道,它是盐渍哈希所以你需要使用链接中提供的功能来检查你的密码,因为哈希会随着生成而改变.
如果您已经尝试过链接中提供的代码,请忽略. 希望能帮助到你… 另一个选择是创建单独的php页面/服务,进行密码散列或散列验证.创建使用“phpbb_hash”函数并检查使用“phpbb_check_hash”,这些函数可以通过页面或服务公开给ASP或ASP.NET. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- entity-framework – 如何将OData查询与DTO映射到EF实体?
- asp.net-mvc – 在同一页面显示搜索表单及其结果的最佳方法
- ASP.net 2.0版是什么意思?
- asp.net – 当DataSource中没有数据时,DetailsView不可见
- asp.net-core – 如何将IHttpContextAccessor注入到Autofac
- .net 4中的ASP.NET Web服务应用程序
- ASP.NET标识如何为自定义ApplicationUser添加必需属性?
- ASP.NET Core使用单一形式的两个模型
- asp.net – 实体框架是一种非常耗时的方式来节省一点时间吗
- asp.net-core – ASPNetCore – 通过REST上传文件
- asp.net – 将文本框和按钮放在mvc razor app中
- asp.net – .NET VirtualPathProviders和预编译
- asp.net – 使用CRC的较短GUID
- asp.net-mvc – ASP.NET MVC(4) – 按特定顺序绑
- asp.net-mvc – 使用具有不同扩展名的自定义http
- asp.net-mvc – 自定义授权MVC 3和Ninject IoC
- asp.net MVC3 DefaultModelBinder错误消息键
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- asp.net – 导致StackOverflowException的Siteco
- asp.net-mvc – Asp.net MVC NoSQL数据库