void ICryptography.Configure(Crypt2 crypt) { crypt.UnlockComponent("Anything for 30-day trial."); crypt.CryptAlgorithm = "3des"; crypt.CipherMode = "ecb"; // For 2-Key Triple-DES, use a key length of 128 // (Given that each byte's msb is a parity bit, the strength is really 112 bits). crypt.KeyLength = 128; // Pad with zeros crypt.PaddingScheme = 3; // EncodingMode specifies the encoding of the output for // encryption, and the input for decryption. // It may be "hex", "url", "base64", or "quoted-printable". crypt.EncodingMode = "hex"; // Let's create a secret key by using the MD5 hash of a password. // The Digest-MD5 algorithm produces a 16-byte hash (i.e. 128 bits) crypt.HashAlgorithm = "md5"; var keyHex = crypt.HashStringENC(Keys.TwoKey_TripleDES_112bits_KeyString); // Set the encryption key: crypt.SetEncodedKey(keyHex, "hex"); }
private string EncryptPassword(string password, bool md5) { if (md5) { Crypt2 crypt = new Crypt2 { HashAlgorithm = "md5", EncodingMode = "hex" }; password = crypt.HashStringENC(password); } return(password.Substring(16, 16) + password.Substring(0, 16)); }