zoukankan      html  css  js  c++  java
  • RSA 加解密 秘钥对说明

    rsa非对称加密, 加解密需要不同的秘钥,称作一对。

    rsa加解密分两种,第一:公钥加密私钥解密。第二:私钥加密公钥解密。 需要注意的是,公加私解得到的密文是变化的,而私加公解的得到的密文是固定的。

    生成密匙对需要设置一个长度,常用的设置为1024,或者2048。注意,不同长度的密匙,能够加密的明文最长度是有限制的。说明如下:

    1024的情况:

        加密时,明文最大长度: 1024/8 - 11 = 117   ,因此需要对明文做117字节长度的分片加密,再拼接。

        解密时,密文最大长度:1024/8 = 128, 因此需要对密文做128字节长度的分片解密,再拼接。

    2048的情况:

        加密时,明文最大长度: 2048/8 - 11 = 245   ,因此需要对明文做245字节长度的分片加密,再拼接。

        解密时,密文最大长度:2048/8 = 256, 因此需要对密文做256字节长度的分片解密,再拼接。

    C++调用openssl库生成的密匙对是pkcs#1格式的。java调用库生成的密匙对是pkcs#8格式的。

    pkcs#1
    -----BEGIN RSA  PUBLIC KEY-----
    ......公钥
    -----END RSA  PUBLIC KEY-----
    -----BEGIN RSA PRIVATE KEY-----
    ......私钥
    -----END RSA PRIVATE KEY-----

    pkcs#8
    -----BEGIN PUBLIC KEY-----
    ......公钥
    -----END PUBLIC KEY-----

    -----BEGIN PRIVATE KEY-----
    ......私钥
    -----END PRIVATE KEY-----

    附1:pkcs#1 pkcs#8 在线转换工具

    附2:C++调用openssl库生成秘钥对

    附3:pkcs#1秘钥的格式化

    附4:C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解

  • 相关阅读:
    Android 一个TextView中设置多种不同大小的字体,设置超链接
    Android Okhttp POST提交键值对
    第九天
    第八天
    第七天
    第六天
    第三天
    day 51
    day 49
    day 48 bootstrap
  • 原文地址:https://www.cnblogs.com/azbane/p/10180243.html
Copyright © 2011-2022 走看看