二进制加密算法有哪些方法(二进制数据加密)

2023-02-19 1:23:16 密语知识 思思

js中常见的数据加密与解密的方法

加密在我们前端的开发中也是经常遇见的。本文只把我们常用的加密方法进行总结。不去纠结加密的具体实现方式(密码学,太庞大了)。

常见的加密算法基本分为这几类,

RSA加密:RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。(这才是正经的加密算法)

非对称加密算法:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法

DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

AES这个标准用来替代原先的DES

DES/AES我们合并在一起介绍其用法和特点

Base64是一种用64个字符来表示任意二进制数据的方法。base64是一种编码方式而不是加密算法。只是看上去像是加密而已(吓唬人)。

二进制加密算法有哪些方法(二进制数据加密) 第1张

二进制加密解密

简单的异或加密,自己不写是损失

==========

#include cstdio

using namespace std;

void binByte(char *bin, unsigned char b){

char i=7;

while(b0){

bin[i]=(b1)+'0';

b=1;

i--;

}

while(i=0){

bin[i--]='0';

}

}

int main()

{

char *src="NCTV";

char bin[9]={0};

unsigned char *p=(unsigned char*)src;

unsigned char pwd=0x59;//1011001

unsigned char code;

while(*p!='\0'){

code=*p^pwd;

binByte(bin,*p);

printf("%c %u %s 加密成 %u ",*p,*p,bin,code);

binByte(bin,code);

printf("%s 解密成",bin);

code^=pwd;

binByte(bin,code);

printf(" %c %u %s",code,code,bin);

printf("\n");

p++;

}

return 0;

}

==============

输出:

N 78 01001110 加密成 23 00010111 解密成 N 78 01001110

C 67 01000011 加密成 26 00011010 解密成 C 67 01000011

T 84 01010100 加密成 13 00001101 解密成 T 84 01010100

V 86 01010110 加密成 15 00001111 解密成 V 86 01010110

========

目前常用的加密方法有

目前常用的加密方法有什么如下:

1、不可逆加密算法有MD5,HMAC,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512,其中SHA-224、SHA-256、SHA-384,和SHA-512我们可以统称为SHA2加密算法,SHA加密算法的安全性要比MD5更高,而SHA2加密算法比SHA1的要高。

2、其中SHA后面的数字表示的是加密后的字符串长度,SHA1默认会产生一个160位的信息摘要。

二进制加密

一个简单而专业的办法是,你用DES加密,加密后,这句话就成了密文。

还有一个办法,你自己随便编一个128的乱序ASCII字符对应表,其实就是在程序中加个128字节的常量数组,然后将你的那句话逐字节的查表替换就可以生成密文了。

数据加密技术概述

数据加密技术的包括这样几方面的内容:数据加密、数据解密、数字签名、签名识别以及数字证明等。

在密码学中,把设计密码的技术成为密码编码,把破译密码的技术称为密码分析。密码编码和密码分析合起来称为密码学。在加密系统中,算法是相对稳定的。为了加密数据的安全性,应经常改变密钥,例如,在每加密一个新信息时改变密钥,或每天、甚至每小时改变一次密钥。

1.易位法

2.置换法

现代加密技术则采用十分复杂的算法,将易位法和置换法交替使用多次而形成乘积密码。

1.对称加密算法

最具代表性的对称加密算法是数据加密标准DES。在DES所使用的的密钥长度为64位,它由两部分组成,一部分是实际密钥,占56位;另一部分是8位奇偶校验位。DES属于分组加密算法,它将明文按64位一组分成若干个明文组,每次利用56位密钥对64位的二进制明文数据进行加密,产生64位密文数据。

对比

由于对称加密算法和非对称加密算法各有优缺点,即非对称加密算法比对称加密算法处理速度慢,但密钥管理简单,因而在当前许多新的安全协议中,都同时应用了这两种加密技术。一种常用的方法是利用公开密钥技术传递对称密码,而用对称密钥技术来对实际传输的数据进行加密和解密。例如,由发送者先产生一个随机数(对称密钥),用它来对要传送的数据进行加密;然后再由接收者的公开密钥对对称密钥进行加密。接收者收到数据后,先用私用密钥对对对称密钥进行解密,然后再用对称密钥对所收到的数据进行解密。