Шифрование DES
<?php
Header('Content-Type: text/plain;');
# Указвает на тип работы
# 1 - шифрование
# 2 - дешифрование
$Mode = 1;
# Секретный ключ
$Key = 'secretke';
echo "Key is: $Key\n";
# Открытие модуля шифрования
# MCRYPT_MODE_ECB - простой метод
# MCRYPT_MODE_CBC - сложный
$Module = MCrypt_Module_Open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
# Создание случайного вектора инициализации в зависимости от размера блока алгоритма шифрования
$Iv = Rand(10000000,99999999);
echo "Init vector: {$Iv}\n";
# Исходный текст
switch($Mode){
case 1:
$ToEncode = File_Get_Contents("\Temp\ToEncode.doc");
echo SPrintF("File size: %u\n",StrLen($ToEncode));
# Инициализация модуля
MCrypt_Generic_Init($Module,$Key,$Iv);
# Шифрование данных
$Encoded = MCrypt_Generic($Module,$ToEncode);
File_Put_Contents('\Temp\ToDecode.doc',$Encoded);
break;
default:
$ToDecode = File_Get_Contents("\Temp\ToDecode.doc");
echo SPrintF("File size: %u\n",StrLen($ToDecode));
MCrypt_Generic_Init($Module,$Key,$Iv);
$Decoded = MDecrypt_Generic($Module,$ToDecode);
File_Put_Contents('\Temp\ToEncode.doc',Trim($Decoded));
}
echo "Ok";
?>