美文网首页
笔记-编码,加密,Hash

笔记-编码,加密,Hash

作者: e小e | 来源:发表于2019-03-09 21:10 被阅读0次

涉及内容:

编码解码 Encoding & Decoding

加密解密 Encryption & Decryption

数字签名 Digital Signature

压缩与解压缩 Compression & Decompression

序列化 Serialization

哈希 Hash

字符集 Charset

对称加密

image.png

原理:使用密钥和加密算法对数据进行转换,得到的无意义数据即为密文;使用密钥和解密算法对密文进行逆向转换,得到原数据.
经典算法:DES,AES

非对称加密

原理:使用公钥对数据进行加密得到密文;使用私钥对数据进行解密得到原数据
延伸用途: 数字签名
经典算法:RSA,DSA


image.png

数字签名

image.png

如上图,其实并不能验证公钥解密后的数据就是私钥签名后的原数据,所以保险起见还可以用下面一种方式进行签名和验证


image.png

加密+签名,用来更加安全的数据传输


image.png

编码

Base64
  • 将二进制数据转换成由64个字符组成的字符串的编码算法
    通常asc2编码中8位为一个符号,但是base64为了字符一定是字符,所有每6位对应一个字符.
  • 什么是二进制数据?
    非文本数据就是二进制数据
  • 用途
    • 让原数据具有字符串所具有的特性,如可以放在URL中传输,可以保存到文本文件,可以通过普通的聊天软件进行文本传输.
    • 把原本人眼可以读懂的字符串变成读不懂的字符串,降低偷窥风险
      *变种: Base58
URL encoding

压缩与解压缩

  • 压缩: 把数据换一种方式来存储,以减小存储空间
  • 解压缩: 把压缩后的数据还原成原先的形式,以便使用
  • 常见的压缩算法: DELETE,JPEG,MP3

序列化

  • 序列化: 把数据对象(一般是内存中的,例如JVM中的对象)转换成字节序列的过程
  • 反序列化: 把字节序列重新转换成内存中的对象
  • 目的:让内存中的对象可以被存储和传输

Hash

  • 定义: 把任意数据转换成指定大小范围(通常很小)的数据
  • 作用:摘要,数字指纹
  • 经典算法:MD5, SHA1, SHA256等
  • 实际用途:
    • 数据完整性验证
    • 快速查找:hashCode()和HashMap
    • 隐私保护

Hash是加密吗?据说MD5是不可逆加密?
不是加密,因为没有解密.
最终通过学习hash过程后的签名验证流程


image.png

字符集

  • 含义:一个由整数向现实世界中的文字符号的Map
  • 分之
    • ASC2: 128 个字符,1字节
    • ISO-8859-1: 对ASC2进行扩充,1字节
    • Unicode: 13万个字符,多字节
      • UTF-8 : Unicode的编码分支
      • UTF-16 : Unicode的编码分支
    • GBK/GB2312/GB18030: 中国自研标准,多字节,字符集+编码

相关文章

  • 笔记-编码,加密,Hash

    涉及内容: 编码解码 Encoding & Decoding 加密解密 Encryption & Decrypti...

  • 编码、加密和 Hash

    Hash 定义 散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的...

  • Android进阶开发 - 编码,加密,Hash

    涉及内容: 编码解码 Encoding & Decoding 加密解密 Encryption & Decrypti...

  • PHP小程序

    Hash加密与验证 Hash加密function pass($pass){ $hashpass = passwor...

  • 密码学之基本概念

    密码学笔记 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。 一、对称加密 指加密和解密使...

  • iOS应用签名

    密码学简介 base64编码方案,不能用来加密,加密后的数据用base64来表示 HASH(散列函数)MD5SHA...

  • 常见编码加密解密Base64,URL ,GZIP,DES,RSA

    常见编码加密解密的基础用法 Base64编码 URL编码 GZIP AES加密 DES加密 RSA加密 编码 加密工具类

  • hash(散列表)

    应用场景 1、Hash主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,这些编码值...

  • 字符编码本质

    假设已对对称加密有基本了解,以密码学的角度看编码 字符编码本质是: 加密(对称加密) 编码方式本质: 1.加密方式...

  • Redis入门--数据结构

    学习笔记 Redis的数据结构的编码 常说的Redis五种基本数据结构string、list、hash、set、z...

网友评论

      本文标题:笔记-编码,加密,Hash

      本文链接:https://www.haomeiwen.com/subject/bxaspqtx.html