繁体   English   中英

asp.net SQLMembershipProvider和Umbraco成员身份提供程序中的加密密码

[英]Encrypted passwords in asp.net SQLMembershipProvider and Umbraco membership provider

安全Noob在这里。

我正在尝试从asp.net成员资格迁移到Umbraco成员资格。 但是,使用passwordFormat =“ Encrypted”似乎在Umbraco成员资格提供程序和Microsoft的SQL成员资格提供程序之间进行了不同的加密。

如果我向SQL成员资格提供程序注册两个用户(使用passwordFormat =“ Encrypted”),则编码的密码将不同。 如果我与Umbraco提供商进行相同的操作,则它们是相同的。

尽管所有字符串都解密为同一事物(正确的密码)-我显然无法使用umbraco DB中的SQL成员资格提供程序加密的密码(ValidateUser失败)。

有人有想法么?

注意:我在两个站点上使用相同的machineKey。

编辑:在Umbraco成员资格提供程序上调用EncryptPassword()和EncodePassword()会得出不同的结果-而EncodePassword是要调用的正确方法。 但是.net Membership提供程序上没有EncodePassword。 这是我困惑的另一部分。

密码可能因盐腌而有所不同。 在成员数据库中签出PasswordSalt列,它应该是Base64字符串。

Umbraco密码使用System.Security.Cryptography.HMACSHA1类进行哈希处理。 我猜想您可以使用HMACSHA1散列SQL成员身份用户密码,并称之为良好。

有关更多详细信息,请参见使用哈希密码添加用户

暂无
暂无

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

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