返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php RSA加密解密返回空/false
  • 652
分享到

php RSA加密解密返回空/false

php 2023-08-30 23:08:38 652人浏览 八月长安
摘要

问题 字符串过长,加密/解密时返回false 原因(太底层,我也看不懂) 参考 RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题。明文长度需要小于密钥长度(1024),而密文长度则

问题

字符串过长,加密/解密时返回false

原因(太底层,我也看不懂)

RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题。明文长度需要小于密钥长度(1024),而密文长度则等于密钥长度。因此当加密内容长度大于密钥长度时,有效的RSA加解密就需要对内容进行分段。
这是因为,RSA算法本身要求加密内容也就是明文长度m必须0 这样,对于1024长度的密钥。128字节(1024bits)-减去11字节正好是117字节,但对于RSA加密来讲,padding也是参与加密的,所以,依然按照1024bits去理解,但实际的明文只有117字节了。
所以如果要对任意长度的数据进行加密,就需要将数据分段后进行逐一加密,并将结果进行拼接。同样,解码也需要分段解码,并将结果进行拼接。

解决

数据截取后(加密/解密)在拼接为字符串。

  • 私钥加密 <-> 公钥解密
  • 私钥解密 <-> 公钥加密
    public static function enPublic($data)    {        $rsa_public = '';        //公钥加密        $key = openssl_pkey_get_public($rsa_public);        $crypted = '';        foreach (str_split($data, 117) as $chunk) {            openssl_public_encrypt($chunk, $encryptData, $key);            $crypted .= $encryptData;        }        return base64_encode($crypted);    }        public static function dePublic($data)    {        $rsa_public = '';        $private_key = openssl_pkey_get_public($rsa_public);        $decrypted = '';        foreach (str_split(base64_decode($data), 128) as $chunk) {            openssl_public_decrypt($chunk, $decryptData, $private_key);            $decrypted .= $decryptData;        }        return $decrypted;    }

来源地址:https://blog.csdn.net/qq_29755359/article/details/128312867

--结束END--

本文标题: php RSA加密解密返回空/false

本文链接: https://lsjlt.com/news/383828.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php RSA加密解密返回空/false
    问题 字符串过长,加密/解密时返回false 原因(太底层,我也看不懂) 参考 RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题。明文长度需要小于密钥长度(1024),而密文长度则...
    99+
    2023-08-30
    php
  • PHP实现RSA加密解密
    目录 安装phpseclib  代码编写 1.依赖引用 2.创建密钥 3.公钥加密 4.私钥解密 总结   安装phpseclib PHP安全通信库phpseclib,可以使用它来操作OpenSSL、GMP、libnaid或mcrypt...
    99+
    2023-09-08
    RSA phpseclib php 非对称加密
  • RSA加密/解密
    一、RSA加密/解密在线教程 1.1、RSA算法介绍 RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很...
    99+
    2023-08-31
    安全 算法 网络安全 服务器 网络
  • python rsa 加密解密
    最近有需求,需要研究一下RSA加密解密安全;在网上百度了一下例子文章,很少有文章介绍怎么保存、传输、打印加密后的文本信息,都是千篇一律的。直接在一个脚本,加密后的文本信息赋于变量,然后立马调用解密。仔细想了...
    99+
    2022-06-04
    加密解密 python rsa
  • Python RSA加密解密
    一、RSA加密算法 RSA加密算法是一种非对称加密算法,加密的秘钥是由公钥和私钥两部分组成秘钥对,公钥用来加密消息,私钥用来解密消息,公钥是公开的,给对方进行加密,私钥则是用户自己保留,用来对加密的数...
    99+
    2023-09-03
    python RSA 加密 解密
  • Python实现RSA加密解密
    目录前言一、安装模块二、生成密钥对三、加密四、解密五、完整代码前言 加密技术在数据安全存储,数据传输中发挥着重要作用,能够保护用户隐私数据安全,防止信息窃取。RSA是一种非对称加密技...
    99+
    2024-04-02
  • RSA在线加解密
    RSA加密、RSA解密 - devTest.run          RSA算法是目前最经典、最常用的公钥加密算法之一,广泛应用于加密通信、文件加密、数字签名等领域。为了方便用户进行RSA加密操作,现在有一款易于使用的在线RSA加密工具,...
    99+
    2023-09-11
    服务器 安全 RSA RSA加密 RSA解密
  • Flutter RSA加密解密的方法
    本文小编为大家详细介绍“Flutter RSA加密解密的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Flutter RSA加密解密的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数...
    99+
    2023-06-30
  • python实现RSA加密(解密)算法
    RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。 今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击...
    99+
    2022-06-04
    算法 python RSA
  • Python使用RSA库加密和解密
    一、rsa库(推荐) 1、公钥加密、私钥解密 # -*- coding: utf-8 -*- import rsa # rsa加密 def rsaEncrypt(str): ...
    99+
    2024-04-02
  • Python怎么实现RSA加密解密
    这篇文章主要介绍了Python怎么实现RSA加密解密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现RSA加密解密文章都会有所收获,下面我们一起来看看吧。一、安装模块pip inst...
    99+
    2023-06-30
  • python rsa加密解密怎么实现
    在Python中,可以使用`cryptography`库来实现RSA加密和解密。以下是一个示例: from cryptography...
    99+
    2023-10-26
    python
  • android md5加密与rsa加解密实现代码
    代码如下: import java.io.UnsupportedEncodingException; import java.security.MessageDigest; ...
    99+
    2022-06-06
    加密 rsa md5加密 Android
  • 【RSA加密/解密】PKCS1_OAEP和PKCS1_v1_5两种填充方案【python RSA密钥对生成、密码加密、密文解密、pycharm安装Crypto】
    一、PKCS1_OAEP和PKCS1_v1_5是公钥加密标准中的两种填充方案。 PKCS1_OAEP(Optimal Asymmetric Encryption Padding)是一种更安全的填充方案...
    99+
    2023-10-26
    算法 开发语言 python pycharm
  • js插件jsencrypt实现rsa前端加密php后台解密
    前端页面代码 传递到php后台的是公钥加密的数据 Document //公钥 PKCS8(JAVA适用) var PUBLIC_KEY = 'MIGfMA0GCSqG...
    99+
    2023-09-26
    前端 javascript 开发语言 php jquery
  • 如何在Java中使用RSA加密对密码进行加密解密
    这期内容当中小编将会给大家带来有关如何在Java中使用RSA加密对密码进行加密解密,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:public static void ...
    99+
    2023-05-31
    java rsa加密 ava
  • Go语言 如何实现RSA加密解密
    RSA是一种非对称加密算法,它的名字是由它的三位开发者,即RonRivest、AdiShamir和LeonardAdleman 的姓氏的首字母组成的(Rivest-Shamir-Ad...
    99+
    2024-04-02
  • Go语言怎么实现RSA加密解密
    这篇文章将为大家详细讲解有关Go语言怎么实现RSA加密解密,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。go是什么golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标...
    99+
    2023-06-14
  • 怎么利用Python实现RSA加密解密
    这篇文章主要介绍“怎么利用Python实现RSA加密解密”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么利用Python实现RSA加密解密”文章能帮助大家解决问题。RSA加密实验基本流程:一、选取...
    99+
    2023-06-29
  • java怎么实现rsa加密解密文件
    要在Java中实现RSA加密和解密文件,可以使用Java Cryptography Architecture(JCA)提供的RSA算...
    99+
    2023-10-26
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作