douzhi19900102 2014-10-08 12:23
浏览 44

鉴于php验证签名对于使用公钥id的指定数据是正确的。 什么是红宝石等同物?

Given the following PHP method below to verify that a signature is correct for specified data using the public key associated with pub_key_id. See PHP openssl_verify. What is the ruby equivalent?. I have the following PHP code snippet:

$data = $_POST['posted_data'];
$signature = base64_decode($_POST['signature']);
$public_key_id = openssl_pkey_get_public($public_key);
$verified = openssl_verify($data, $signature, $public_key_id);
openssl_free_key($key_id);

if($verified == 1)
{
    echo "VERIFIED";
}
else if ($verified == 0)
{
    echo "VERIFICATION FAILED";
}
else if ($verified < 0)
{
    echo "ERROR";
}

I am trying to write the ruby equivalent of the program? Thanks in advance.

  • 写回答

1条回答 默认 最新

  • dongqing5575 2014-10-08 12:57
    关注

    I believe this should work for you:

    signature = Base64.decode64(params["signature"])
    sha256    = OpenSSL::Digest::SHA256.new
    pub_key   = OpenSSL::PKey::RSA.new(public_key).public_key
    pub_key.verify(sha256, signature, params["data"])
    

    This will return true if the they match, false otherwise

    评论

报告相同问题?

悬赏问题

  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)