PYTHON openssl_public_encrypt

is this article helpful?
|
Python replacement for PHP's openssl_public_encrypt [ edit | history ]
from M2Crypto import BIO, RSA;

message = str(message );
varkey = open(pub_key).read();
# demonstrate how to load key from a string
bio = BIO.MemoryBuffer(varkey);
rsa = RSA.load_pub_key_bio(bio);
# encrypt, IMPORTANT: read about padding modes (RSA.pkcs1_padding)
msgEncrypted = rsa.public_encrypt(message, RSA.pkcs1_padding);

del rsa, bio;

PHP openssl_public_encrypt

PHP original manual for openssl_public_encrypt [ show | php.net ]

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_encryptEncrypts data with public key

Description

bool openssl_public_encrypt ( string $data , string &$crypted , mixed $key [, int $padding= OPENSSL_PKCS1_PADDING ] )

openssl_public_encrypt() encrypts data with public key and stores the result into crypted . Encrypted data can be decrypted via openssl_private_decrypt().

This function can be used e.g. to encrypt message which can be then read only by owner of the private key. It can be also used to store secure data in database.

Parameters

data

crypted

This will hold the result of the encryption.

key

The public key.

padding

padding defaults to OPENSSL_PKCS1_PADDING, but can also be one of OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Return Values

Returns TRUE on success or FALSE on failure.

See Also