摘要:
前提:秘钥长度=1024 对一片(117字节)明文加密 私加 对一片(128字节)密文解密 公解 对整体 明文加密 私加 对整体 密文解密 公解 附1:rsa 公加私解 附2:C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解 阅读全文
摘要:
前提:秘钥长度=1024 对一片(117字节)明文加密 对一片(128字节)密文解密 注:工作中只用到了 rsa私加公解,因此没有 针对全部明文的公加私解的代码实现,请参考附录。 附:rsa 私加公解 阅读全文
摘要:
C++调用openssl库生成的秘钥对,通过传输传出来的只有秘钥的内容,没有秘钥的格式。而我们在调用openssl库加密解密时,传入的秘钥是需要包含格式的。C++调用openssl库需要的格式为pkcs#1, java默认的格式为pkcs#8。 下面的代码,仅仅是添加收尾标识,并非对密匙内容做转换。 阅读全文
摘要:
直接上代码。默认生成的是pkcs#1格式 附1:C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解 阅读全文
摘要:
rsa非对称加密, 加解密需要不同的秘钥,称作一对。 rsa加解密分两种,第一:公钥加密私钥解密。第二:私钥加密公钥解密。 需要注意的是,公加私解得到的密文是变化的,而私加公解的得到的密文是固定的。 生成密匙对需要设置一个长度,常用的设置为1024,或者2048。注意,不同长度的密匙,能够加密的明文 阅读全文
摘要:
默认Base64编码的字符串,用于网络传输是不安全的,因为Base64编码使用的标准字典含有“+”,“/”。 规则如下: //nonSafeBase64 到 safeBase64'+' >> '-' '/' >> '_' //safeBase64 到 nonSafeBase64'-' >> '+' 阅读全文
摘要:
封装成类的 。 base64格式的字符串,只包含大小写字母、零到九,以及 + / 附1:C++实现 safaBase64格式跟nonSafeBase64格式的转换 附2:C++二进制字符串转十六进制字符串 十六进制字符串转二进制字符串 阅读全文
摘要:
二进制转十六进制 十六进制转二进制 附1:C++二进制字符串转Base64字符串 Base64字符串转二进制字符串 阅读全文
摘要:
des cbc 加密 zeropadding填充方式 des cbc 加密 pkcs5padding填充方式 pkcs7padding跟pkcs5padding是一致的 des cbc 解密 zeropadding pkcs5padding pkcs7padding都是一致的 附1:DES加解密 c 阅读全文
摘要:
DES cbc是基于数据块加密的。数据块的长度为8字节64bit。以数据块为单位循环加密,再拼接。每个数据块加密的秘钥一样,IV向量不同。第一个数据快所需的IV向量,需要我们提供,从第二个数据块开始,所需的IV向量为上一个数据块生成的密文。 IV向量该怎么赋值, 它跟秘钥KEY有什么关系,这一点,我 阅读全文
摘要:
之前工作上需要用C++把软件生成的用户序列号用des加密cbc的模式,加密后为二进制,转化为十六进制,然后提供给java写的授权码管理平台。 java平台会根据用户序列号,生成一个授权码,授权码是用rsa 私加公解的模式加密的,加密后为二进制,然后转为safeBase64格式。授权码拿来在C++的软 阅读全文