0
好吧我正在写一个会员密码更改的测试。下面的代码是我到目前为止。我需要一些帮助来检查密码格式。最小字符长度为7,最大长度为8.测试密码格式
此外,我可以测试密码格式是否清晰,但是如何测试加密格式?
任何人都可以协助吗?
[TestMethod]
public void TestChangePassword()
{
try
{
AsaMembershipProvider prov = this.GetMembershipProvider();
MembershipCreateStatus status;
//creates user
MembershipUser user = prov.CreateUser("testUserX", "12345", "[email protected]", "", "", true, null, out status);
//gets user
user = prov.GetUser("testUserX", false);
Assert.AreEqual(user.UserName, "testUserX");
//Authenticates username and password
var isAuthenticated = prov.ValidateUser(user.UserName, "12345");
Assert.IsTrue(isAuthenticated);
//changes password
prov.ChangePassword("testUserX", "12345", "ABCDE");
//Validates password has been changed
prov.ValidateUser(user.UserName, "ABCDE");
Assert.IsTrue(isAuthenticated);
// Change password back
prov.ChangePassword("testUserX", "ABCDE", "12345");
//Validates password has been changed back
prov.ValidateUser(user.UserName, "12345");
//Deletes User
prov.DeleteUser("testUserX", true);
//tries to get user again
user = prov.GetUser("testUserX", false);
//test that no user is returned
Assert.AreEqual(null, user);
}
catch (Exception ex)
{
LogMessage(ex);
Assert.Fail(ex.Message);
}
}
最大长度为8的密码?你为什么要限制它? – 1615903
你说min的长度是7,但是你的测试全部少于7个字符。如前所述,绝对没有理由限制密码的最大长度。你将存储一个散列,而不是实际的密码(你是吧?),所以你甚至不会保存少量的磁盘空间,因为你的密码散列长度都是相同的。 – Sysyphus