博客
关于我
php 的rsa加密与解密
阅读量:793 次
发布时间:2023-02-28

本文共 1666 字,大约阅读时间需要 5 分钟。

CentOS6.5系统中生成RSA公私钥对的方法

系统环境

系统:CentOS6.5

在Linux系统中,生成RSA公私钥对的过程相对简单,但需要注意每一步的操作细节。以下是详细的操作步骤。

生成RSA公私钥对的步骤

  • 生成原始RSA私钥文件

    首先,我们需要使用openssl工具生成一个原始的RSA私钥文件。以下是具体命令:

    openssl genrsa -out rsa_private_key.pem 1024

    这条命令会生成一个1024位的RSA私钥文件rsa_private_key.pem

  • 将RSA私钥转换为PKCS#8格式

    生成的原始RSA私钥通常是以PKCS#1格式存储的,而许多应用程序需要PKCS#8格式的私钥。以下是将原始私钥转换为PKCS#8格式的命令:

    openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem

    这条命令会将原始私钥文件rsa_private_key.pem转换为PKCS#8格式,并存储在private_key.pem文件中。

  • 生成RSA公钥文件

    接下来,我们需要从原始私钥文件中提取公钥,并将其存储为一个独立的文件。以下是生成RSA公钥文件的命令:

    openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

    这条命令会将rsa_private_key.pem中的公钥信息提取出来,并存储在rsa_public_key.pem文件中。

  • 代码示例

    公钥加密私钥解密
    $source='abcde';$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_public_key.pem', 'r');$res = openssl_get_publickey($pkeyid);openssl_public_encrypt($source, $crypttext, $res);echo $crypttext;$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_private_key.pem', 'r');$res2 = openssl_get_privatekey($pkeyid);if(openssl_private_decrypt($crypttext, $data, $res2)){    echo $data;}else{    echo "false";}
    私钥加密公钥解密
    $source='abcde';$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_private_key.pem', 'r');$res = openssl_get_privatekey($pkeyid);openssl_private_encrypt($source, $crypttext, $res);echo $crypttext;$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_public_key.pem', 'r');$res2 = openssl_get_publickey($pkeyid);if(openssl_public_decrypt($crypttext, $data, $res2)){    echo $data;}else{    echo "false";}

    注意事项

    • 确保你已经安装了openssl工具。如果没有安装,可以通过包管理器安装。
    • 确保私钥文件的权限设置正确,避免被其他用户或程序访问。
    • 在实际应用中,建议将密钥文件备份并加密,以防止泄露。

    通过以上步骤,你可以在CentOS6.5系统中轻松生成必要的RSA公私钥对,并进行相应的加密和解密操作。

    转载地址:http://fztfk.baihongyu.com/

    你可能感兴趣的文章
    PHP -算法-二路归并
    查看>>
    php 2条不一样 的json数据 怎么放在一个json里面_如果你是PHP开发者,请务必了解一下Composer...
    查看>>
    php 360 不记住密码,JavaScript_多种方法实现360浏览器下禁止自动填写用户名密码,目前开发一个项目遇到一个很 - phpStudy...
    查看>>
    regExp的match、exec、test区别
    查看>>
    php 404 自定义,APACHE 自定义404错误页面设置方法
    查看>>
    PHP 5.3.0以上推荐使用mysqlnd驱动
    查看>>
    php 7.2 安装 mcrypt 扩展: mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl...
    查看>>
    php aes sha1解密,PHP AES加密/解密
    查看>>
    php CI框架单个file表单多文件上传例子
    查看>>
    php composer
    查看>>
    reflow和repaint引发的性能问题
    查看>>
    php csv 导出
    查看>>
    php curl 实例+详解
    查看>>
    php curl_init函数用法(http://blog.sina.com.cn/s/blog_640738130100tsig.html)
    查看>>
    php curl_multi批量发送http请求
    查看>>
    php curl请求微信发红包接口出现错误:Peer's Certificate issuer is not recognized.
    查看>>
    PHP curl请求错误汇总和解决方案
    查看>>
    php declare(ticks=1)
    查看>>
    UVA 10474
    查看>>
    php echo 输出 锘?... 乱码问题
    查看>>