php 签名,php中RSA加密,明文超长,需要分段加密该怎么做?

用户投稿 33 0

关于“php数字签名”的问题,小编就整理了【3】个相关介绍“php数字签名”的解答:

php中RSA加密,明文超长,需要分段加密该怎么做?

这方面的话我不是很了解,一般来说,加密分为两个部分,一个是非对称加密,一个是对称加密,使用对称加密加密正文信息,使用非对称加密加密对称加密的密钥,然后发送加密数据(消息摘要和数字签名就不讨论了),这是正规的数据加密策略,对称加密默认支持大数据分段加密策略,你只需要从接口中完成加密即可,而且对称加密速度比非对称加密快很多,如果你需要使用这个策略建议使用AES。

如果你不愿意使用对称加密,只愿意使用AES加密,那你就必须丧失速度了,而且自己处理分段加密,因为RSA加密通常是117个字节就要分段(这个长度可能和密钥长度有关,我是用的接口是117),你需要自己把数据变成N个117字节的数据段来完成加密,解密也需要自己完成字节拼装。详细还是建议你去后盾人平台去看看视频教学吧,那里面有的,讲的很清楚。

你知道数字签名的是一个怎样的过程吗?

数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明,数字签名是非对称密钥加密技术与数字摘要技术的应用。

对一个电子文件进行数字签名并在网上传输,其技术实现过程大致如下:首先要在网上进行身份认证,然后再进行签名,最后是对签名的验证。

1. 认证

PKI提供的服务首先是认证,即身份识别与鉴别,确认实体即为自己所声明的实体。认证的前提是甲乙双方都具有第三方CA所签发的证书,认证分单向认证和双向认证。

(1)单向认证是甲乙双方在网上通信时,甲只需要认证乙的身份即可。这时甲需要获取乙的证书,获取的方式有两种,一种是在通信时乙直接将证书传送给甲,另一种是甲向CA的目录服务器查询索取。甲获得乙的证书后,首先用CA的根证书公钥验证该证书的签名,验证通过说明该证书是第三方CA签发的有效证书。然后检查证书的有效期及检查该证书是否已被作废(LRC检查)而进入黑名单。

(2)双向认证。双向认证是甲乙双方在网上通信时,甲不但要认证乙的身份,乙也要认证甲的身份。其认证过程与单向认证过程相同。

甲乙双方在网上查询对方证书的有效性及黑名单时,采用的是LDAP协议(Light Directory Access Protocol),它是一种轻型目录访问协议。

数字签名怎么做?

数字签名是一种安全技术,用于验证数据的真实性和完整性,可以防止数据被篡改和伪造。下面是数字签名的简要步骤:

选择数字签名算法:首先需要选择一种数字签名算法,常用的数字签名算法有RSA、DSA、ECDSA等。

生成公钥和私钥:数字签名使用公钥和私钥进行加密和解密,因此需要生成一对公钥和私钥。通常,私钥只有签名者自己拥有,而公钥可以公开发布,供验证者使用。

对原始数据进行哈希:数字签名需要对原始数据进行哈希处理,将原始数据转换为一个固定长度的摘要,以保护数据的完整性和一致性。

使用私钥对哈希值进行加密:签名者使用自己的私钥对哈希值进行加密,生成数字签名。

将数字签名和原始数据一起发送:签名者将数字签名和原始数据一起发送给验证者。

使用公钥对数字签名进行解密:验证者使用签名者的公钥对数字签名进行解密,得到哈希值。

对原始数据进行哈希:验证者对原始数据进行哈希处理,得到一个新的哈希值。

比较哈希值:验证者比较签名者生成的哈希值和自己重新计算的哈希值,如果两者相等,则表明数据未被篡改和伪造,数字签名验证成功。

需要注意的是,数字签名技术需要遵守相关的安全规范和标准,以确保数字签名的安全性和可靠性。同时,在应用数字签名技术时,也需要注意保护个人隐私和安全,遵守相关的法律法规和使用规范。

到此,以上就是小编对于“php数字签名”的问题就介绍到这了,希望介绍关于“php数字签名”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!