#windows #linux #encryption
#Windows #linux #шифрование
Вопрос:
Мне нужно зашифровать текст / файлы в base 64, чтобы я мог отправлять их по электронной почте (я не могу создавать вложения). Я могу использовать OpenSSL и GPG в Linux для шифрования и дешифрования, но не знаю, как сделать то же самое в Windows XP. Кто-нибудь знает программу, которая может сделать это для меня в Windows?
Комментарии:
1. Вы понимаете, что base64 — это не шифрование, да?
2. Чтобы завершить то, что говорит вам @Brian Roach: base64 — это способ хранения ваших строк «передаваемым» способом, но они представляют собой обычный текст (не зашифрованный). Для шифрования вы могли бы использовать AES, 3DES и т.д…
3. Я предполагаю, что любой, кто освоил ключевые слова gpg, openssl, понял, что base64 — это всего лишь кодировка содержимого
4. @sehe — это смелое предположение. Для base64 вам не понадобится ни то, ни другое
5.Зачем кому-то использовать оба
openssl
иgpg
в Linux, если это было только для того, чтобы делать то, чтоbase64
можно сделать самостоятельно? Это основные законы энтропии, и я оцениваю вероятность того, что кто-то случайно попадет в ssl и gpg при поиске base64 в Google, довольно низко.
Ответ №1:
ОТРЕДАКТИРОВАНО СНОВА
По этой ссылке вы можете найти, как кодировать / декодировать файлы.
Я прилагаю пример кода:
private string FileToBase64(string srcFilename)
{
if (!string.IsNullOrEmpty(srcFilename))
{
FileStream fs = new FileStream(srcFilename,
FileMode.Open,
FileAccess.Read);
byte[] filebytes = new byte[fs.Length];
fs.Read(filebytes, 0, Convert.ToInt32(fs.Length));
string encodedData = Convert.ToBase64String(filebytes,
Base64FormattingOptions.InsertLineBreaks);
return encodedData;
}
}
private void Base64ToFile(string src, string dstFilename)
{
if (!string.IsNullOrEmpty(dstFilename))
{
byte[] filebytes = Convert.FromBase64String(src);
FileStream fs = new FileStream(dstFilename,
FileMode.CreateNew,
FileAccess.Write,
FileShare.None);
fs.Write(filebytes, 0, filebytes.Length);
fs.Close();
}
}
Комментарии:
1. @antonvrg: кодирование и декодирование base64 встроено в C #: добавьте два реализованных метода, как вы видите в примерах, и ваша работа выполнена. Зачем вам что-то уже скомпилированное?
2. потому что я не умею компилировать программное обеспечение, и было бы проще просто получить файлы, а не исходный код.
3. @antonvrg: Я не понимаю .. вы пишете приложение для выполнения своей задачи или нет? Вы можете использовать Visual Studio Express Edition (который является полностью бесплатным) для компиляции этого небольшого приложения. Извините, но я не могу понять, в чем ваша проблема..
4. @antonvrg: посмотрите на мой отредактированный пост. Для вас есть новая ссылка. Я надеюсь, что это поможет 🙂
5. @deepseefan: Я изменил свой ответ, приложив пример кода