
Быстрый поиск
Введите фрагмент названия статьи для поиска

Base64 Tool 2.0
30.03.2024 | Категория: Мои программы | Автор: ManHunter

Скриншот программы Base64 Tool
Программа для кодирования файлов по алгоритму Base64 с дополнительными возможностями. Режимы конвертирования:
RAW - простое кодирование содержимого файла по алгоритму Base64;
IMG - конвертирование изображения по схеме data:URI для последующей вставки тега в html-страницу. Если невозможно обработать файл как изображение, то применяется простое кодирование;
CSS - конвертирование изображения по схеме data:URI для последующей вставки записи в таблицу стилей. Если невозможно обработать файл как изображение, то применяется простое кодирование;
MIME - конвертирование файла в MIME-файл, который затем можно привести в исходный вид при помощи Total Commander, или, например, разместить на форуме.
Программа написана для личных нужд в качестве альтернативы онлайн-сервисам, буду рад, если она пригодится кому-нибудь еще.
Читать статью целиком »
Просмотров: 1687 | Комментариев: 10

Функции base64 на JavaScript
23.06.2011 | Категория: Web-мастеру и не только | Автор: ManHunter
По умолчанию в JavaScript отсутствуют штатные функции преобразования данных по алгоритму Base64. Ниже приведены две функции для base64-кодирования и декодирования на JavaScript. Их удобно использовать при передаче различных данных через AJAX или через web-формы, а также для хранения в исходном коде бинарных данных, например, зашифрованных строк.Code (HTML) : Убрать нумерацию
- // Функция кодирования строки в base64
- function base64encode(str) {
- // Символы для base64-преобразования
- var b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg'+
- 'hijklmnopqrstuvwxyz0123456789+/=';
- var b64encoded = '';
- var chr1, chr2, chr3;
- var enc1, enc2, enc3, enc4;
- for (var i=0; i<str.length;) {
- chr1 = str.charCodeAt(i++);
- chr2 = str.charCodeAt(i++);
- chr3 = str.charCodeAt(i++);
- enc1 = chr1 >> 2;
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
- enc3 = isNaN(chr2) ? 64:(((chr2 & 15) << 2) | (chr3 >> 6));
- enc4 = isNaN(chr3) ? 64:(chr3 & 63);
- b64encoded += b64chars.charAt(enc1) + b64chars.charAt(enc2) +
- b64chars.charAt(enc3) + b64chars.charAt(enc4);
- }
- return b64encoded;
- }
Читать статью целиком »
Просмотров: 16442 | Комментариев: 14

Функции base64 на Ассемблере
09.01.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Алгоритм Base64 может использоваться в пользовательских почтовых приложениях, в качестве одного из уровней защиты шифрованием, для хранения двоичных данных и для решения многих других задачах. В большинстве языков высокого уровня используются штатные функции, в Ассемблере приходится все реализовывать самостоятельно.Алгоритм Base64 обратимый, то есть из закодированного текста можно в точности получить исходные данные. Начнем с функции кодирования.
Code (Assembler) : Убрать нумерацию
- ;---------------------------------------------------------------
- ; Функция кодирования Base64
- ;---------------------------------------------------------------
- ; Параметры:
- ; lpFrom - указатель на исходные данные
- ; lpTo - указатель на буфер для приема кодированных данных
- ; dSize - размер исходных данных
- ; Функция ничего не возвращает
- ;---------------------------------------------------------------
- proc base64_encode lpFrom:dword, lpTo:dword, dSize:dword
- pusha
- mov ebx,.base64
- mov esi,[lpFrom]
- mov edi,[lpTo]
- mov ecx,[dSize]
- or ecx,ecx
- jz .r3
- .encode_loop:
- lodsd
- mov edx,eax
- bswap edx
- xor eax,eax
- shld eax,edx,6
- shl edx,6
- xlatb
- stosb
- xor eax,eax
- shld eax,edx,6
- shl edx,6
- xlatb
- stosb
- dec ecx
- jz .r2
- xor eax,eax
- shld eax,edx,6
- shl edx,6
- xlatb
- stosb
- dec ecx
- jz .r1
- xor eax,eax
- shld eax,edx,6
- shl edx,6
- xlatb
- stosb
- dec esi
- dec ecx
- jnz .encode_loop
- jmp .r3
- .r2:
- mov al,'='
- stosb
- .r1:
- mov al,'='
- stosb
- .r3:
- xor eax,eax
- stosb
- popa
- ret
- .base64 db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- db 'abcdefghijklmnopqrstuvwxyz'
- db '0123456789+/'
- endp
Читать статью целиком »
Просмотров: 5930 | Комментариев: 9
