Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > openssl


Автор: MoLeX 22.2.2012, 12:14
Добрый день.
Не получается расшифровать строку, выводить NULL

Код

function EncryptData( $source )
{
    $key = openssl_pkey_get_private( 'file://' . PATH . "privkey.pem" );
    openssl_private_encrypt( $source, $result, $key );
    return $result;
}

function DecryptData( $source )
{
    $key = openssl_pkey_get_private( 'file://' . PATH . "privkey.pem");    
    openssl_private_decrypt( $source, $result, $key );
    return $result;
}


$str = EncryptData( 'source' );
echo base64_encode($str) . '<br>';

$str = DecryptData( $str );
var_dump( $str );


для меня тема новая, не знаю из-за чего(

Добавлено @ 12:16
зашифровывается нормально все
Цитата

V6AX4EBW9kIhlNDORZSmTr2f47y+CzqMOg6oa4DzqLBU/R0zMylcRxbOTEmrW9TGkBLagZF1FkqxK8vhe4ytVQ==

Автор: DJPhoeniX 26.2.2012, 03:18
Советую почитать про http://ru.wikipedia.org/wiki/%D0%90%D1%81%D0%B8%D0%BC%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D1%88%D0%B8%D1%84%D1%80. Суть в том, что шифрование и расшифровка производятся РАЗНЫМИ ключами.

И зачем http://php.net/manual/ru/function.strrev.php строку?

Автор: MoLeX 26.2.2012, 08:42
Цитата(DJPhoeniX @  26.2.2012,  03:18 Найти цитируемый пост)
И зачем реверсить строку?

это баловался, забыл убрать)

почитаем

Автор: krypt3r 27.2.2012, 10:11
Шифрование производится открытым (публичным) ключом, обратная операция - закрытым (приватным) с указанием passphrase, если оно имело место быть.
Код

function EncryptData( $source )
{
    $key = openssl_pkey_get_public( 'file://' . PATH . "pubkey.pem" );
    openssl_public_encrypt( $source, $result, $key );
    return $result;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)