当前位置: 首页 > news >正文

北京市住房和城乡建设委官方网站2022年明星百度指数排行

北京市住房和城乡建设委官方网站,2022年明星百度指数排行,北京做网站的公司东道,大流量网站开发我在我的数据库中创建了一个用户表,其中包含用于保存用户信息的不同列.我还添加了两列public_key和private_key.当用户注册时,他的信息将被插入到表中.加上我正在使用:// Create the keypair$resopenssl_pkey_new();// Get private keyopenssl_pkey_export($res, $p…

我在我的数据库中创建了一个用户表,其中包含用于保存用户信息的不同列.我还添加了两列public_key和private_key.

当用户注册时,他的信息将被插入到表中.加上我正在使用:

// Create the keypair

$res=openssl_pkey_new();

// Get private key

openssl_pkey_export($res, $privatekey);

// Get public key

$publickey=openssl_pkey_get_details($res);

$publickey=$publickey["key"];

创建一个随机密钥对并将其提供给用户,以便每个用户都有一个密钥对.

我希望我的用户具有数字签名功能,因此当他们上传文件时,他们会签名.

我决定首先签署一个示例文件(msg.txt)以查看是否可以然后继续.它看起来很直截了当:

openssl_pkcs7_sign("msg.txt", "signed.txt", "signing_cert.pem",

array("private_key.pem", "mypassphrase"),

array()

);

问题是:sign_cert.pem和private_key.pem是什么?我将生成的公钥粘贴在signing_cert.pem中,将私有密钥粘贴在private_key.pem中,但是我看到了这个错误:

Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error getting

private key in /home/ofathian/public_html/msc/ebook/mine/assymetric-test.php

on line 40

任何意见表示赞赏.

解决方法:

我得出结论为什么不制作我自己的数字签名功能.

数字签名算法的工作方式如下:

首先对纯文本进行哈希处理,然后用户的私钥对其进行加密,然后是结果

与纯文本连接.

伪代码:

return [input + encrypt(md5(input),private_key)]

用于验证:输入分为纯文本和签名.然后签名被解密

使用公钥.然后将结果与纯文本的散列进行比较,如果是的话

等于表示签名已经过验证.

伪代码:

explode(input) --> plain_text , signature

if( decrypt(signature,public_key) == md5(plain_text) ) then signature is trusted

现在我测试并正在使用的真正的PHP代码:

function sign($cleartext,$private_key)

{

$msg_hash = md5($cleartext);

openssl_private_encrypt($msg_hash, $sig, $private_key);

$signed_data = $cleartext . "----SIGNATURE:----" . $sig;

return mysql_real_escape_string($signed_data);

}

function verify($my_signed_data,$public_key)

{

list($plain_data,$old_sig) = explode("----SIGNATURE:----", $my_signed_data);

openssl_public_decrypt($old_sig, $decrypted_sig, $public_key);

$data_hash = md5($plain_data);

if($decrypted_sig == $data_hash && strlen($data_hash)>0)

return $plain_data;

else

return "ERROR -- untrusted signature";

}

标签:php,digital-signature

来源: https://codeday.me/bug/20190530/1184083.html

http://www.lbrq.cn/news/2403235.html

相关文章:

  • 高端品牌名字大全深圳百度seo整站
  • 昌网站建设网站检测工具
  • 网站建设的基本流程包括营销网站优化推广
  • 网站搭建软件国际大新闻最新消息
  • 舞钢市做网站开发的公司seo咨询
  • 上海网站工作室如何查询网站收录情况
  • 塘沽做网站近三天发生的重要新闻
  • 郑州做网站价格山东搜索引擎优化
  • app网站制作软件免费b站网站推广
  • 用dw制作一个网站百度推广代理赚钱
  • 菠菜网站的代理怎么做网站推广广告
  • 网络公关在哪些方面能发挥作用seo关键词是什么
  • 网站组件google推广方式和手段有哪些
  • 新疆生产建设兵团水利局网站看啥网一个没有人工干预的网
  • 学习做网站只学过cseo推广人员
  • 瑶海区网站建设seo技术教学视频
  • 湘潭公司网站建设网盟推广
  • 陕西网站建设推广深圳seo推广公司
  • 晋城做网站公司怎样做推广更有效
  • 迅睿cms和帝国哪个好福州网seo
  • 牛股大转盘网站建设seo怎么做优化工作
  • 网站上的图片带店面是怎么做的百度搜索简洁版网址
  • 网站建设与运营的实训总结站长工具友链检测
  • 阿里云网站用什么做的大连网络推广
  • 烟台哪家公司可以做网站网站友情链接检测
  • 利鑫做彩票网站推广软件赚钱的平台
  • b2c网站建设方案免费的seo
  • WordPress抓去微信seo网站优化推广怎么样
  • nft制作网站网络推广教程
  • 南宁网站开发建设百度最新收录方法
  • 数据结构 | 栈:构建高效数据处理的基石
  • 【unitrix】 6.10 类型转换(from.rs)
  • 搭建比分网服务器怎么选数据不会卡顿?
  • GATE:基于移动嵌入式设备的实时边缘构建图注意力神经网络用于鲁棒室内定位
  • vscode 一直连不上远程,网络是通的,ssh 也能直接登录远程
  • 微信小程序商品结算功能