Кодирование/декодирование base64 библиотеки dll с exe-образца! – Microsoft Visual C++ – Алгоритмы – База кода

Скачать

Название (оригинал): Base64 encoding/decoding DLL, complete with sample EXE!

Описание:
Англ (оригинал)Base64 is a public encoding/decoding algorithm. It is used in many ways, for example in authorization and E-mail attachments. Let’s say you want to enter a site that requests a user name and password (I’m talking about that dialog thing that you get in your browser). You type in “MyUserName” and “MyPassword”. At this point the browser first concatenates the strings with a colon between them: “MyUserName:MyPassword”. Then it encodes the resulting string with Base64. The result is “TXlVc2VyTmFtZTpNeVBhc3N3b3Jk”. This is what is sent to the web-server (this is the process in a non-secure protocol like http – in a secure protocol like https, the process is a bit different). Another use is in E-mail attachments. When you attach a non-text file (such as a JPG file) to your E-mail message, your E-mail client first encodes this file in Base64, and only then sends it to the SMTP server. When you retrieve the E-mail message from the POP server, you receive the encoded file and your E-mail client decodes it to get the original file back.
This posting consists of two projects. One is called “Base64” and is a Win32 DLL Project – this DLL contains functions which do the encoding and decoding. It contains documentation, in a file called Base64.exe. The other project is called “YBase64” and is a Win32 EXE Project – this is a sample application which uses the aforementioned DLL. (You can see YBase64 in the attached screen shot)
IMPORTANT NOTE: MFC HAS NOT UNLEASHED ITS EVIL POWERS UPON THESE TWO PROJECTS – they are completely and purely Win32.
You have two options for encoding and decoding – asynchronous or synchronous. The “spontaneous” encoding/decoding is done synchronously. For the files you have an checkbox which lets you choose (of course, the progress-bar and cancel button aren’t operational in synchronous mode).
I have done some testing: Encoding a 50.6MB file took about 1 minute and 20 seconds, and decoding the result took about 1 minute and 40 seconds, on my P3 450MHz. I used a file-compare program (FC.EXE which comes with Windows) to compare the result and the original file, byte by byte, and no differences were encountered.
If you like this code, please vote and/or submit your feedback! Thanks.
Рус (машинный)В base64 является публичной кодирования/декодирования алгоритма. Он используется во многих отношениях, например в авторизации и отправки по электронной почте. Допустим, вы хотите ввести сайт, который запрашивает имя пользователя и пароль (я говорю о том, что диалоговое вещь, которую вы получаете в вашем браузере). Вы типа в \”Имя_пользователя\” и \”Мойпароль\”. На данный момент браузер первый сцепляет строки с двоеточием между ними: \”Имя_пользователя:Мойпароль\”. Затем он кодирует полученную строку с base64. В результате \”TXlVc2VyTmFtZTpNeVBhc3N3b3Jk\”. Это то, что отправляется на веб-сервер (этот процесс в незащищенного протокола http и в безопасный протокол как протокол https, процесс немного отличается). Еще одно применение заключается во вложениях электронной почты. Когда вы добавляете нетекстовый файл (например, jpg файл) на ваш e-mail сообщение, ваш e-mail клиент сначала кодирует этот файл в base64, и только затем отправляет его на SMTP-сервер. Когда вы получаете сообщение электронной почты с Pop-сервера, вы получаете закодированный файл и ваш e-mail клиент расшифровывает его, чтобы получить оригинальный файл обратно.
Эта проводка состоит из двух проектов. Один называется \”в base64\” и является Win32 dll проекта – эта библиотека содержит функции, которые делают кодирование и декодирование. Он содержит документацию, в файл с названием Base64.exe. Другой проект называется \”YBase64\” и является Win32 exe-файл проекта – это пример приложения, которое использует вышеупомянутые dll файлы. (Вы можете увидеть YBase64 в прикрепленном скриншоте)
Важное Примечание: МФЦ не развязали свои злые силы на эти два проекта – они совершенно и чисто под Win32.
У вас есть два варианта для кодировки и декодирования – асинхронный или синхронный. \”Спонтанное\” кодирования/декодирования выполняется синхронно. Для файлов есть флажок, который позволяет выбрать (конечно, прогресс-бар и кнопка \”отмена\” не функционирует в синхронном режиме).
Я сделал некоторое тестирование: кодирование 50.6 Mb файл занял около 1 минуты и 20 секунд, и результат декодирования заняло около 1 минуты и 40 секунд, на моем Р3 450мгц. Я использовал файл-сравнить программу (FC.EXE который поставляется с Windows), чтобы сравнить результат и исходный файл, байт в байт, и никаких разногласий не возникало.
Если вам нравится этот код, пожалуйста, проголосуйте и/или оставьте свой отзыв! Спасибо.

база кода