2016-05-28 5 views
-1

秘密鍵を使用して文字列を復号化した後、echoはvalueを返します。しかし、私はbase64_decodeそのnullを返そうとします。 私はbase64_decodeの値が必要でした。nullを返す復号化された文字列を復号化できません

openssl_private_decrypt(base64_decode($_POST['data']), $data, $privateKey, OPENSSL_NO_PADDING); 

echo $data; // Returning Value --> k/HgB3uQZ1klyeHlJ2jhcG5fSOy+GowIF4bich195ll7zNF9sQbgg/1MkiUpk4ScFlT2e0XIwXzANGgrNi2yEg== 
echo base64_decode($data); // returning null 
+0

'echo $ data; echo base64_decode($ _ POST ['data']); ' – Akam

+0

[print $ \ _ POST変数名と値の重複](http://stackoverflow.com/questions/3489387/print-post-variable-name-along) -with-value) – jww

答えて

0

改行が含まれる可能性がありますあなたの文字列 '\ n' のか、BASE64でデコード可能なされていないいくつかの他の文字は、使用して改行を削除してみてください:

str_replace(array("\r", "\n"), '', $data); 

(出典:How to remove line breaks (no characters!) from the string?

+0

ほとんどのBase64デコーダは改行文字を無視します。 – zaph

1

Base64でデコード列:

K/HgB3uQZ1klyeHlJ2jhcG5fSOy + GowIF4bich195ll7zNF9sQbgg/1MkiUpk4ScFl T2e0XIwXzANGgrNi2yEgの==

デコードBase64では、それがない、文字列、バイナリデータである:一般バイナリデータに

93F1E0077B90675925C9E1E52768E1706E5F48ECBE1A8C081786E2721D7DE6597BCCD17DB106E083FD4C92252993849C1654F67B45C8C17CC034682B362DB212

は、印刷可能な文字で、ほとんどの場合では表現できないことができますどのキャラクタセットでも表現できません。

関連する問題