Преобразование текста с использованием Base64 в Linux и Windows

#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: Я изменил свой ответ, приложив пример кода