常见的加密方式

news/2024/11/17 9:54:04/

常见的加密方式

取盐校验 (取密码中的关键信息) 不可逆

相关技术:

md5 md2 md4 (带密码的 md5)
md5 默认填充值(key) 0123456789abcdef

md5 :明文:123456密文16位的:49ba59abbe56e05732位的:e10adc3949ba59abbe56e057f20f883e40位的:(不常用)

sha1(40 位) sha256(64 位) sha512(128 位)

sha1:明文:123456密文:40:7c4a8d09ca3762af61e59520943dc26494f8941bsha256:明文:123456密文:64:8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92sha512:明文:123456密文:128:ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413

对称加密 (可还原)

可以根据同一个密钥进行加解密
明文可以根据同一个密钥进行加密, 密文可以根据相同的密钥进行解密为明文.

相关技术:

AES DES 3DES

非对称加密 (可还原)

一个明文可以根据一个密钥加密出多个不同的密文
多个不同的密文可以根据相同的密钥 解密出相同的明文

相关技术:

RSA (私钥 公钥)

服务器有: 公钥和私钥
客户端只有: 公钥

对称加密和非对称加密的密文共同特点

  1. 十六进制的
  2. base64 : base64 编码的组成内容是由 A-Z a-z 0-9 + _ = 等组成的

JS 自带的加解密 API 方法

atob(‘密文’) : 解密方法
btoa(‘明文’) : 加密方法

let x = '我是coco'let encryption = btoa(encodeURIComponent(x))console.log(encryption) // JUU2JTg4JTkxJUU2JTk4JUFGY29jbw==let decryption = decodeURIComponent(atob(encryption))console.log(decryption) //  我是coco

http://www.ppmy.cn/news/539696.html

相关文章

313344

发文助手会检测您的文章标题、错别字、内容质量,助您提升文章质量。发文助手会检测您的文章标题、错别字、内容质量,助您提升文章质量。发文助手会检测您的文章标题、错别字、内容质量,助您提升文章质量。发文助手会检测您的文章标题、错别字…

344A

#include <stdio.h> int main() {int a, b;int n;scanf("%d", &n);scanf("%d", &a);int Count1;int i;for(i0; i<n-1; i){scanf("%d", &b);if((a%10)(b/10))Count;ab;}printf("%d\n", Count);return 0; }转载于:…

333444

RERWER ERFGFDG

444

<script>alert(1);</script> <img src"javascript:alert(1);"/>

LeetCode 刷题 344

这题比较简单 没啥好说的 记录一下 class Solution { public:void reverseString(vector<char>& s) {int left 0;int right s.size() - 1;while (left < right){if (s[left] ! s[right])swap(s[left], s[right]);left;--right;}} };