Q:класс шифрования и дешифрования?
Я хочу спросить, если есть класс для шифрования и дешифрования строки, я поиск через сеть ,, и я найти некоторые, но они менее безопасны или имеют некоторые проблемы в завершении процесса:
один из классов я нашел перед:
public static string Encrypt(string text) {
try
{
key = Encoding.UTF8.GetBytes(stringKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] byteArray = Encoding.UTF8.GetBytes(text);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream,des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
cryptoStream.Write(byteArray, 0, byteArray.Length);
cryptoStream.FlushFinalBlock();
return Convert.ToBase64String(memoryStream.ToArray());
}
catch (Exception ex)
{
string message = ex.Message;
}
return string.Empty;
}
public static string Decrypt(string text)
{
try
{
key = Encoding.UTF8.GetBytes(stringKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] byteArray = Convert.FromBase64String(text);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream,
des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cryptoStream.Write(byteArray, 0, byteArray.Length);
cryptoStream.FlushFinalBlock();
return Encoding.UTF8.GetString(memoryStream.ToArray());
}
catch (Exception ex)
{
string message = ex.Message;
}`
некоторые комментарии по поводу этого класса:
Encoding.UTF8.GetBytes - очень плохой и небезопасный способ получить ключ от пароль.
http://www.codinghorror.com/blog/2010/12/the-dirty-truth-about-web-passwords.html
- другие проблемы
я искать о классе, чтобы выполнить шифрование и дешифрование без этих проблем ,, если есть какие-либо изменения или аксессуара к этому классу, чтобы избежать тех, проблемы и сделать его более безопасным, это будет здорово.
, если есть и другие классы, которые испытаны и используются в течение длительного времени, чтобы убедиться в его стабильности, это будет большой ..
Хорошо, этот класс достаточно безопасен ... для чего-то (читайте: SUCKS). То, что вы хотите обеспечить и от чего? Пароли? Или что-то другое? Кроме того, какие «другие проблемы» вы хотите избежать? И из любопытства, что случилось с Encoding.UTF8.GetBytes? –
Совет: используйте инструкцию 'using'. –
Я использую его дважды один раз для паролей, а другое время для строки исходит из строки запроса, одна из самых больших проблем была недопустимой 64-разрядной ошибкой массива символов, и я думаю, что она решена с помощью кодирования перед шифрованием и декодирования перед расшифровкой. но я боюсь будущих проблем –