Skip to content

syxdevcode/EncryptionAndDecryption

Repository files navigation

EncryptionAndDecryption

对加密/解密算法应用的demo 8位(bit)=1字节(Byte),1024字节=1KB; 一. Base64的编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编 码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24 位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所 要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个 “=”。 例:将对ABC进行BASE64编码:

1、首先取ABC对应的ASCII码值。A(65)B(66)C(67); 2、再取二进制值A(01000001)B(01000010)C(01000011); 3、然后把这三个字节的二进制码接起来(010000010100001001000011); 4、 再以6位为单位分成4个数据块,并在最高位填充两个0后形成4个字节的编码后的值,(00010000)(00010100)(00001001)(00000011),其中蓝色部分为真实数据; 5、再把这四个字节数据转化成10进制数得(16)(20)(9)(3); 6、最后根据BASE64给出的64个基本字符表,查出对应的ASCII码字符(Q)(U)(J)(D),这里的值实际就是数据在字符表中的索引。

注:BASE64字符 表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

二.解码 规则 解码过程就是把4个字节再还原成3个字节再根据不同的数据形式把字节数组重新整理 成数据。 三. C#中的实现 编码: byte[] bytes = Encoding.Default.GetBytes("要转换的字符"); string str = Convert.ToBase64String(bytes);

解 码: byte[] outputb = Convert.FromBase64String(str); string orgStr = Encoding.Default.GetString(outputb);

基本理论概念 1,对称加密 AES对称加密算法原理。AES加密算法即密码学中的高级加密标准(Advanced Encryption Standard,AES) AES是美国国家标准技术研究所NIST旨在取代DES的新一代的加密标准 。 NIST对AES候选算法的基本要求是:对称分组密码体制;密钥长度支持128,192,256位;明文分组长度128 位; 算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮征集、分析、测试,共产生了15 个候选算法。 1999 年3 月完成了第二轮AES 的分析、测试。1999 年8 月NIST公布了五种算法(MARS,RC6,Rijndael,Serpent,Twofish) 成为候选算法。 最后,Rijndael ,这个由比利时人设计的算法与其它候选算法在成为高级加密标准(AES) 的竞争中取得成功, 于2000 年10月被NIST宣布成为取代DES的新一代的数据加密标准,即AES(这也是为什么人们将AES算法叫作Rijndael算法的原因)。 尽管人们对AES还有不同的看法,但总体来说,Rijndael作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。 AES设计有三个密钥长度:128,192,256 比特, 相对而言,AES 的128 比特密钥比DES的56 比特密钥强10^21倍 AES 加密(高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法)

DES数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,DES作为一个标准已经被高级加密标准(AES)所取代

3DES:DES的派生算法3DES

一、CBC(Cipher Block Chaining,加密块链)模式
	是一种循环模式,前一个分组的密文和当前分组的明文异或操作后再加密,这样做的目的是增强破解难度.
	密钥
	密钥偏移量

2,非对称加密 RSA加密算法是一种非对称加密算法。在公钥加密标准和电子商业中RSA被广泛使用。 RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。 当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的

About

新建加密/解密项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published