簡體   English   中英

等效於Ruby中的openssl_public_encrypt PHP函數

[英]Equivalent of openssl_public_encrypt PHP function in Ruby

我想在ruby中獲得以下等效代碼:

$key = '-----BEGIN PUBLIC KEY-----
some public key
-----END PUBLIC KEY-----';

$cc_number = '4242424242424242';
openssl_public_encrypt($cc_number, $cc_number_encrypted, $key);
echo base64_encode($cc_number_encrypted);

我試過了:

pkey = '-----BEGIN PUBLIC KEY-----
some public key
-----END PUBLIC KEY-----'

cc = '4242424242424242'
key = OpenSSL::PKey::RSA.new(pkey)
puts Base64.encode64(key.public_encrypt(cc)) 

但這不起作用。 如何用Ruby編寫此PHP代碼?

我發現了受以下問題啟發的解決方案: Ruby中base64編碼字符串中的\\ n奇怪

我不得不改變:

puts Base64.encode64(key.public_encrypt(cc)) 

puts Base64.strict_encode64(key.public_encrypt(cc)) 

文檔所述

此方法符合RFC4648。不添加換行符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM