- chr: documentation ( source)
- strtr: documentation ( source)
- htmlentities: documentation ( source)
- base64_encode: documentation ( source)
- ord: documentation ( source)
- md5: documentation ( source)
<?php
$email = htmlentities('cal@gmail.com', ENT_QUOTES);
$private_key = '6KzVA_2qy'; //possible de la changer
function base64_url_encode($input) {
return strtr(base64_encode($input), '+/=', '-_,');
}
function f_crypt($private_key, $str_to_crypt) {
$private_key = md5($private_key);
$letter = -1;
$new_str = '';
$strlen = strlen($str_to_crypt);
for ($i = 0; $i < $strlen; $i++) {
$letter++;
if ($letter > 31) {
$letter = 0;
}
$neword = ord($str_to_crypt{$i}) + ord($private_key{$letter});
if ($neword > 255) {
$neword -= 256;
}
$new_str .= chr($neword);
}
return base64_url_encode($new_str);
}
echo f_crypt($private_key, $email);