最近做项目接触了一些关于用CA证书加密解密的知识,现在分享一下,加密主要分为对称加密和非对称加密以及单项加密这三种,CA是一个权威的第三方认证机构,CA加密有公钥和私钥之分. 以下是C#读取证书文件进行加密解密的Code,供各位参考 CA 加密: public static string CAEncryption(string xml) { X509Certificate2 pubcrt =new X509Certificate2(AppDomain.CurrentDomain.BaseDire…
AES 算法是基于置换和代替的.置换是数据的重新排列,而代替是用一个单元数据替换另一个.AES 使用了几种不同的技术来实现置换和替换. 以下是我自己用c#研究出来算法Code: /// <summary> /// AES 加密 /// </summary> /// <param name="str"></param> /// <param name="key"></param> /// <…
一.  使用RSA证书加.解密敏感数据 X.509证书标准支持三种不对称加密算法:RSA, DSA, Diffie-Hellman algorithms.最常用的是RSA算法.所以本文就以前面章节使用makecert工具生成的生成的MyTestCert证书进行加密解密,这个证书具有RSA算法1024位的密钥对. Figure 12. RSA加密解密过程 1. 生成证书.分发证书 证书使用前面“使用makecert工具获得”章节生成的MyTestCert,当然也可以是从商业CA获得的证书. 你获得…
一.  使用证书结合对称加密算法加.解密长数据 上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实际测试,明文最多为117字节,留下的空间用来填充随机数”.也就是说对于1024位密钥的RSA来说,一次只能加密128字节的数据,对于Dotnet的RSA实现更是只能加密117个字节的数据. 这就引出一个问题,超过128字节(或者说超过117字节)的数据怎么加密? 有个办法,就是把数据明文拆分为合适大…
package aisin.text;    import com.google.common.collect.Maps;  import sun.misc.BASE64Decoder;  import sun.misc.BASE64Encoder;    import javax.crypto.Cipher; import java.io.UnsupportedEncodingException;import java.security.*;  import java.security.int…
http://www.cnblogs.com/chnking/archive/2007/08/18/860983.html…
DES.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; namespace Wpfbinding { class DES { DESCryptoServiceProvider des; public DES() { des = DESCryptoServiceProvider.Create() a…
原文链接:http://joelinoff.com/blog/?p=885 这里的示例显示了如何使用python以与openssl aes-256-cbc完全兼容的方式加密和解密数据.它是基于我在本网站上发布的C ++ Cipher类中所做的工作.它适用于python-2.7和python-3.x. 关键思想是基于openssl生成密钥和iv密码的数据以及它使用的“Salted__”前缀的方式. 因为我也掌握openssl的内部细节,所以先留着,等以后要是遇到需要了,在研究 使用方法 代码: #…
RSA加密解密及RSA签名和验证及证书 公钥是给别人的 发送密文使用公钥加密 验证签名使用公钥验证 私钥是自己保留的 接受密文使用私钥解密 发送签名使用私钥签名 上述过程逆转是不行的,比如使用私钥加密,使用公钥解密是不行的 证书的制作参考自使用X.509数字证书加密解密实务(一)-- 证书的获得和管理 打开VS开发命令,输入下面的命令: makecert -sr CurrentUser -ss My -n CN=MyTestCert -sky exchange -pe 从证书中读取私钥和公钥:…
1.我现在没有个人CA证书,使用.中信建投网上交易,是如何保障安全的呢? 如果您目前没有个人CA证书,使用.中信建投网上交易,系统其实也是用CA证书的RSA体系进行加密的. 您在输入账户和密码进行登录时,系统会使用网上交易服务器CA证书建立加密安全通道.您输入的账户号和密码,客户端使用对端服务器证书中的公钥进行非对称加密,然后将加密后的数据传输给网上交易服务器.由于只有网上交易服务 器拥有相应的私钥,来进行解密并提交委托,所以从根本上确保了交易信息的保密性和不可修改性. 交易者身份的确定和交易的…