<?php
class DES{
public static function encrypt($str,$key){
$str = self::pkcs5_pad($str, 8);
if (strlen($str) % 8) {
$str = str_pad($str,
strlen($str) + 8 - strlen($str) % 8, "\0");
}
$sign = openssl_encrypt (
$str,
'DES-EDE3' ,
$key,
OPENSSL_RAW_DATA | OPENSSL_NO_PADDING ,
''
);
return strtoupper(bin2hex($sign));
}
private static function pkcs5_pad($text, $blocksize) {
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
}
$res = DES::encrypt('test', 'aaaabbbb');
var_dump($res);
preferences:
47.41 ms | 402 KiB | 5 Q