加密,编码三问

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 网络通信中最重要的就是数据部分,而保证数据的正确安全传输,就要牵扯到数据的编码和数据的加密问题,今天的三问就是关于编码和加密:

网络通信中最重要的就是数据部分,而保证数据的正确安全传输,就要牵扯到数据的编码和数据的加密问题,今天的三问就是关于编码和加密:


  • 介绍对称加密和非对称加密
  • 数字签名的原理
  • Base64算法是什么,是加密算法吗?


介绍对称加密和非对称加密


1)对称加密,即加密和解密算法不同,但是密钥相同。比如DES,AES算法。


数据A --> 算法D(密钥S)--> 加密数据B
加密数据B --> 算法E(密钥S)--> 数据A


优点:缺点:密钥有可能被破解,容易被伪造。传输过程中一旦密钥被其他人获知则可以进行数据解密。


2)非对称加密,即加密和解密算法相同,但是密钥不同。私钥自己保存,公钥提供给对方。比如RSA,DSA算法。


数据A --> 算法D(公钥)--> 加密数据B
加密数据B --> 算法D(私钥)--> 数据A


优点:安全,公钥即使被其他人获知,也无法解密数据。缺点:需要通信双方都有一套公钥和私钥


数字签名的原理


1)首先,为什么需要数字签名?防止被攻击,被伪造。由于公钥是公开的,别人截获到公钥就能伪造数据进行传输,所以我们需要验证数据的来源。


2)怎么签名?由于公钥能解密 私钥加密的数据,所以私钥也能解密 公钥加密的数据。(上图非对称加密A和B代号互换即可) 所以我们用公钥进行加密后,再用私钥进行一次加密,那么私钥的这次加密就叫签名,也就是只有我自己可以进行加密的操作。所以传输数据流程就变成了加密数据和签名数据,如果解出来都是同样的数据,那么则数据安全可靠。


数据A --> 算法D(公钥)--> 加密数据B
数据A --> 算法D(私钥)--> 签名数据C
加密数据B --> 算法D(私钥)--> 数据A
签名数据C --> 算法D(公钥)--> 数据A


Base64算法是什么,是加密算法吗?


  • Base64是一种将二进制数据转换成64种字符组成的字符串的编码算法,主要用于非文本数据的传输,比如图片。可以将图片这种二进制数据转换成具体的字符串,进行保存和传输。


  • 严格来说,不算。虽然它确实把一段二进制数据转换成另外一段数据,但是他的加密和解密是公开的,也就无秘密可言了。所以我更倾向于认为它是一种编码,每个人都可以用base64对二进制数据进行编码和解码。


  • 面试加分项:为了减少混淆,方便复制,减少数据长度,就衍生出一种base58编码。去掉了base64中一些容易混淆的数字和字母(数字0,字母O,字母I,数字1,符号+,符号/) 大名鼎鼎的比特币就是用的改进后的base58编码,即Base58Check编码方式,有了校验机制,加入了hash值。
目录
相关文章
|
5月前
|
Java 数据安全/隐私保护
des加密+base64编码,base64解码+des解密
des加密+base64编码,base64解码+des解密
110 0
|
4月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
3月前
|
安全 程序员 网络安全
编码之舞:我的编程技术感悟网络安全与信息安全:漏洞、加密技术及安全意识的探讨
在数字世界的广阔舞台上,编程技术如同一种精确而优美的舞蹈。它不仅要求逻辑的严密和技术的精湛,还需要创新思维和持续学习的热情。本文将分享作者在编程旅程中的个人感悟,探讨如何通过实践、学习和反思不断提升编程能力,并在技术探索中找到乐趣和成就感。 在数字化时代,网络安全和信息安全已成为全球关注的焦点。随着网络攻击手段的不断升级,如何保护个人和企业的数据安全成为了一个亟待解决的问题。本文将深入探讨网络安全漏洞的产生原因、加密技术的应用以及提升安全意识的重要性。通过分析具体案例,我们将揭示网络安全领域的最新发展趋势,并提供实用的防护策略,帮助读者构建更为坚固的安全防线。
|
5月前
|
数据安全/隐私保护
URL编码解析方式-特殊字符加密和解密
URL编码解析方式-特殊字符加密和解密
97 0
|
数据安全/隐私保护
URL编码解析方式-特殊字符加密和解密
我们一起来看看为什么要给特殊字符进行加密,那又如何进行解密呢?
109 0
|
机器学习/深度学习 传感器 算法
【图像加密】基于混沌系统与DNA编码的彩色数字图像加密系统附matlab代码
【图像加密】基于混沌系统与DNA编码的彩色数字图像加密系统附matlab代码
|
机器学习/深度学习 传感器 算法
【图像解密】基于双随机相位编码和压缩感应的图像加密附matlab代码
【图像解密】基于双随机相位编码和压缩感应的图像加密附matlab代码
|
机器学习/深度学习 传感器 安全
【图像加密】基于混沌编码实现图像加密解密(PSNR和SNR)附matlab代码
【图像加密】基于混沌编码实现图像加密解密(PSNR和SNR)附matlab代码
|
存储 XML 算法
转义、编码和加密
转义、编码和加密是开发中很常见也很基础的概念。对于初学开发的开发者,可能有时会无法准确的区分着几个词。我们将通过这篇文章来了解一下“转义、编码和加密”这几个词的关联和区别。
87 0
转义、编码和加密
|
安全 Go 数据安全/隐私保护
Golang:securecookie对cookie值进行编码解码和加密解密
Golang:securecookie对cookie值进行编码解码和加密解密
188 0