转 Encoding is Not Encryption 编码和加密的区别

昨天跟别人聊天的时候,别人把base64说成了加密。 我并不是扣字眼,但是做为一个IT技术人员我认为分辨加密和编码的区别算是一个常识。

It‘s unfortunate that the words encryption and encoding tend to get used as synonyms. In cryptography they mean two different things.

In short:

  • Encryption = encipherment = make secret
  • Encoding = to convert format, not necessarily securely

Encoding is not encryption. Repeat, encoding is not encryption. Strictly speaking, encryption is an encoding operation, but the term encoding is generally used in cryptography to mean that secrecy is not involved.

翻译一下,编码绝对不是加密。加密是可以算是一种编码的操作。

编码和加密的区别说通俗一点,在于编码是通常希望别人解码的。
而加密是不希望的。

编码更多的是为了转换格式,加密是为了安全。

时间: 2024-08-03 23:27:52

转 Encoding is Not Encryption 编码和加密的区别的相关文章

转义、编码和加密

转义.编码和加密是开发中很常见也很基础的概念.对于初学开发的开发者,可能有时会无法准确的区分着几个词.我们将通过这篇文章来了解一下“转义.编码和加密”这几个词的关联和区别. 转义 第一种转义场景 绝大多数的开发者都曾经在自己学习第一个编程语言时,就遇到了这个概念.以经典的C语言中字符串中的字符转义为例. 如果在一个字符串中存在一个",那么就需要在"前添加\才能够正常的表示,比如下面这样. char* universal_law = "月老板说:\"世界上本也不存在'

编码和加密

在用javascript对URL字符串进行编码 中,虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤. 但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问题.例如:发送页与接受页的编码格式(Charset)不一致(假设 发送页面是GB2312而接收页面编码是UTF-8),使用escape()转换传输中文字串就会出现乱码问题. 以下是JS下对URL进行编/解码的各种方法: 1.e

Python中的Base64编码的加密与解密

Base64 可以干些啥? Base64编码的作用: 由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法. 图片(and种子)base64编码传输 一种常用的内容快速加密方法(不安全,防君子不防小人) 为什么要使用 Base64 编码? 在网页图片传输中,一般在处理极小.极简的一些图片的时候可以使用到base64编码将图片直接写入css文件展示到网站上. 快速加密,常用与邮件内容传输,网站简单内容加密,跟MD5加密算法的区别在于这种算

16位的MD5加密和32位MD5加密的区别

16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16位MD5散列要比破解32位MD5散列还慢因为他多了一个步骤,就是使用32位加密后再把中间16位提取出来, 然后再进行对比而破解32位的则不需要,加密后直接对比就可以了 admin 的加密代码:16位加密:7a57a5a743894a0e32位加密:21232f297a57a5a743894a0e4a

非对称加密和对称加密的区别

在了解对称加密和非对称加密的区别之前我们先了解一下它们的定义: 对称加密(Symmetric Cryptography),又称私钥加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法.对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中.对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如

python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8')

python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8') 原文地址:https://www.cnblogs.com/zhaoyingjie/p/9133020.html

CTF中那些脑洞大开的编码和加密

0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问题:表哥,你知道这是什么加密吗?其实CTF中脑洞密码题(非现代加密方式)一般都是各种古典密码的变形,一般出题者会对密文进行一些处理,但是会给留一些线索,所以写此文的目的是想给小伙伴做题时给一些参考,当然常在CTF里出现的编码也可以了解一下.本来是想尽快写出参考的文章,无奈期间被各种事情耽搁导致文章断断续续写了2个月,文章肯定有许多没有提及到,欢迎小伙伴补充,总之,希望对小伙伴们有帮助吧! 0x01 目录 1 2 3

Base64编码 - Md5加密 - url编码

#pragma mark --------编码-------------- + (NSString * )encodeBase64:(NSString * )text { NSData * data = [text dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; // 转换到base64 data = [GTMBase64 encodeData:data]; NSString * base64String = [

Java 关于密码处理的工具类[MD5编码][AES加密/解密]

项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从编码后的字符串反推回去的. MD5的方法是基于散列的.本身信息不全.理论上是不能还原成唯一字符串的. 网上所谓的解密,也只是拥有一个足够大的字典映射,将编码前的源字符和编码后的目标字符关联起来而已,大多数常见的还行,复杂点的估计就会话费很长时间,有兴趣的可以试试. 至于MD5的用法,在初次录入的时候