public void TestMd5CorrectCalculating2() { var result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, "qwerty123", "$1$22222222"); // php crypt output Assert.AreEqual("$1$22222222$RzvaPuLVbLbx2ZZpLHnzm/", result); }
public void TestMd5ReplaceDollarInSaltWithComma() { var dollar_result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, "qwerty123", "$1$$2222222"); var comma_result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, "qwerty123", "$1$,2222222"); Assert.AreEqual(comma_result, dollar_result); }
public void TestMd5CorrectCalculating() { var result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, "12345", "$1$12345678"); // php crypt output Assert.AreEqual("$1$12345678$M1o7XeamKvTv64m7bK9e30", result); }
public void TestMd5CorrectWorksWithDollarInSalt() { var result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, "qwerty123", "$1$$2222222"); var pass_parts = result.Split(new[] { '$' }, StringSplitOptions.RemoveEmptyEntries); Assert.AreEqual(3, pass_parts.Length); }
public void TestMd5HashContainsDollar() { var pass = "******"; var result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, pass); Assert.IsTrue(result.Contains("$")); }
public void TestMd5HashContains3Parts() { var pass = "******"; var result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, pass); var pass_parts = result.Split(new[] { '$' }, StringSplitOptions.RemoveEmptyEntries); Assert.AreEqual(3, pass_parts.Length); }
public void TestMd5HashFormat() { var pass = "******"; var result = PostfixPasswordEncryptor.EncryptString(HashType.Md5, pass); var pass_parts = result.Split(new[] { '$' }, StringSplitOptions.RemoveEmptyEntries); var expected_format = String.Format("${0}${1}${2}", pass_parts[0], pass_parts[1], pass_parts[2]); Assert.AreEqual(expected_format, result); }
public int ChangePassword(string username, string newPassword) { var query = new SqlUpdate(MailboxTable.TABLE_NAME) .Set(MailboxTable.Columns.PASSWORD, PostfixPasswordEncryptor.EncryptString(HashType.Md5, newPassword)) .Where(MailboxTable.Columns.USERNAME, username); var result = Db.ExecuteNonQuery(query); return(result); }
public void TestMd5InvalidSaltFormatThrowsException() { try { var pass = "******"; PostfixPasswordEncryptor.EncryptString(HashType.Md5, pass, "salt"); Assert.Fail("Exception wasn't throwed"); } catch (ArgumentException ex) { Assert.AreEqual("Invalid salt format. Should be $1$********", ex.Message); } catch (Exception) { Assert.Fail("Invalid esception format"); } }
public int Save(Mailbox mailbox, bool deliver = true) { var query = new SqlInsert(MailboxTable.TABLE_NAME, true) .InColumnValue(MailboxTable.Columns.USERNAME, mailbox.Login) .InColumnValue(MailboxTable.Columns.NAME, mailbox.Name) .InColumnValue(MailboxTable.Columns.PASSWORD, PostfixPasswordEncryptor.EncryptString(HashType.Md5, mailbox.Password)) .InColumnValue(MailboxTable.Columns.MAILDIR, mailbox.Maldir) .InColumnValue(MailboxTable.Columns.LOCAL_PART, mailbox.LocalPart) .InColumnValue(MailboxTable.Columns.DOMAIN, mailbox.Domain) .InColumnValue(MailboxTable.Columns.CREATED, mailbox.Created) .InColumnValue(MailboxTable.Columns.MODIFIED, mailbox.Modified) .InColumnValue(MailboxTable.Columns.ENABLE_IMAP, deliver) .InColumnValue(MailboxTable.Columns.ENABLE_IMAP_SECURED, deliver) .InColumnValue(MailboxTable.Columns.ENABLE_POP, deliver) .InColumnValue(MailboxTable.Columns.ENABLE_POP_SECURED, deliver) .InColumnValue(MailboxTable.Columns.ENABLE_DELIVER, deliver) .InColumnValue(MailboxTable.Columns.ENABLE_LDA, deliver); var result = Db.ExecuteNonQuery(query); return(result); }