Затенить и закодировать параметр URL - PullRequest
3 голосов
/ 27 августа 2010

Я хочу зашифровать переменную URL, чтобы пользователь не мог видеть информацию при ее передаче.Я нашел несколько сценариев в сети, но ни один из них не работает.Большинство, кажется, склоняются к использованию Base-64.Может ли кто-нибудь помочь мне написать короткий сценарий, который будет кодировать или шифровать, а затем перевернуть его на следующей странице?Это не обязательно должно быть очень безопасно, просто достаточно, чтобы замаскировать адрес электронной почты обычному пользователю.

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Если вас не интересует безопасность, вы можете просто использовать rot13 :

function rot13($string, $mode) {
    $s = fopen("php://memory", "rwb");
    stream_filter_append($s, "string.rot13", STREAM_FILTER_WRITE);
    fwrite($s, $string);
    rewind($s);
    return stream_get_contents($s);
}

var_dump(rot13("my@email.com", STREAM_FILTER_WRITE));
var_dump(rot13("zl@rznvy.pbz", STREAM_FILTER_READ));

, что даст:

string(12) "zl@rznvy.pbz"
string(12) "my@email.com"
1 голос
/ 27 августа 2010

Вы можете использовать алгоритм симметричного шифрования.Вы можете использовать функции mcrypt_encrypt и mcrypt_decrypt в библиотеке mcrypt.

http://php.net/manual/en/function.mcrypt-encrypt.php http://www.php.net/manual/en/function.mcrypt-decrypt.php

...