2016-07-25 27 views
1

受信者から私に公開鍵が渡され、ユーザー名とパスワードを暗号化するために使用する必要があります。私は様々なr & dを行ったが、何も動作しません。 私はphpのrsa公開鍵を使用してデータを暗号化する方法

function public_encrypt($plaintext) 
{ 
    $fp=fopen("private.key","r"); 
    $pub_key=fread($fp,8192); 
    fclose($fp); 
    openssl_get_publickey($pub_key); 
    openssl_public_encrypt($plaintext,$crypttext, $pub_key); 
    return(base64_encode($crypttext)); 
} 

を使用していた。しかし、それは私にopenssl_public_encrypt(): key parameter is not a valid public keyエラーになります。

私はまた、開始と終了の行をキーに追加しましたが、まだ成功しません。 私が新しいことを踏まえて私に従ってください。

+0

$ pubkey = openssl_get_publickey($ pub_key);値は、次のとおりです。 –

+0

私はそれを試しました。その$ pubkeyを暗号化に使用しても、まだ成功していません。まだ同じエラーが発生しています。助けてください。 –

+0

get publickeyには証明書ファイル –

答えて

1

既知の形式ではないキーをデコードしようとしています。私は1023ビットのモジュラスを持っているので、誰かが暗号を完全に理解していないと思っています。

あなたは16進数表現を見ればあなたがの価値を持つ弾性率を見つけることができます:

4D49BB0D2E0FA132D081A6338C178124AB2B1B61A57C6C30D05EAD179BE1040B235E0EE83F3BF29A8F19DC33B7E245FAE7BE96E35CC2DF49E8B519D4F53501E3566D693A66E69D8C812AF66AC6D5D86ED764ED27A91C5828CE860A8B01077C15142B77BF772AFF201577DF8FBE9E92168539480E024DFF51173CD26B65858ACA 

(1024ビットに近いサイズの構造の中だけでの最後の値)と公開指数とを値

010001 
関連する問題