加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何使用PHP将数字签名(RSA,证书等)添加到任何文件?

发布时间:2020-12-13 18:25:24 所属栏目:PHP教程 来源:网络整理
导读:我需要知道是否可以使用RSA,证书和那些东西,或者只有特定类型的文件可以签名,以数字方式签署任何类型的文件.所有这些,使用 PHP. 例如:纯文本文件可以用数字签名吗?图像怎么样(png,jpeg,bmp)? 我不需要用图形签名“附加”图像. 谢谢您的帮助. 使用 phpsecl
我需要知道是否可以使用RSA,证书和那些东西,或者只有特定类型的文件可以签名,以数字方式签署任何类型的文件.所有这些,使用 PHP.

例如:纯文本文件可以用数字签名吗?图像怎么样(png,jpeg,bmp)?

我不需要用图形签名“附加”图像.

谢谢您的帮助.

使用 phpseclib,a pure PHP RSA implementation(更新 here):
<?php
include('Crypt/RSA.php');

$rsa = new Crypt_RSA();
extract($rsa->createKey());

$plaintext = 'terrafrost';

$rsa->loadKey($privatekey);
$signature = $rsa->sign($plaintext);

$rsa->loadKey($publickey);
echo $rsa->verify($plaintext,$signature) ? 'verified' : 'unverified';
?>

与CLI openssl类似,如下所示:

openssl dgst -sha1 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out signature.txt -sign privatekey.txt plaintext.txt 
openssl dgst -sha1 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -prverify privatekey.txt -signature signature.txt plaintext.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读