diff --git a/EduNetworkBuilder/TrippleDESDocumentEncryption.cs b/EduNetworkBuilder/TrippleDESDocumentEncryption.cs index 8f3bef9..d375c6f 100644 --- a/EduNetworkBuilder/TrippleDESDocumentEncryption.cs +++ b/EduNetworkBuilder/TrippleDESDocumentEncryption.cs @@ -137,7 +137,7 @@ namespace EduNetworkBuilder public static string GenSalt(Random RanGen) { - return GenCharString(RanGen, 20); + return GenCharString(RanGen, 50); } public static string GenUserPW(Random RanGen) @@ -145,5 +145,20 @@ namespace EduNetworkBuilder return GenCharString(RanGen, 6); } + public static TripleDES GenKey(string password, string salt) + { + TripleDESCryptoServiceProvider tDESkey = new TripleDESCryptoServiceProvider(); + byte[] saltBytes = Encoding.UTF8.GetBytes(salt); + var p = new Rfc2898DeriveBytes(password, saltBytes); + tDESkey.IV = p.GetBytes(tDESkey.BlockSize / 8); + tDESkey.Key = p.GetBytes(tDESkey.KeySize / 8); + return tDESkey; + } + + public void SetKey(string password, string salt) + { + algValue = GenKey(password, salt); + } + } }