常用数据加密

这篇具有很好参考价值的文章主要介绍了常用数据加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、加密和解密

1、 加密

数据加密的基本过程,就是对原来为明 的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为 “密文”。通过这样的途径,来达到保护数据不被 非法人窃取、阅读的目的。

2、解密

加密的逆过程为解密,即将该编码信息转化为其原来数据的过程。

二、对称加密和非对称加密

加密算法分对称加密和非对称加密,其中对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同,此外,还有一类不需要密钥的散列算法。

常见的对称加密 算法主要有 AES 、DES等,常见的非对称算法主要有 RSA、DSA 等,散列算法主要有 SHA-1、MD5 等。

2、对称加密

对称加密算法是应用较早的加密算法,又称为共享密钥加密算法。在对称加密算法中,使用的密钥只有一个,发送和接收双方都使用这个密钥对数据进行加密和解密,这就要求加密和解密方事先都必须知道加密的密钥。
常用数据加密

2、非对称加密

非对称加密算法,又称为公开密钥加密算法。它需要两个密钥,一个称为公开密钥 (public key),即公钥,另一个称为私有密钥 (private key),即私钥。

因为 加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。

常用数据加密
如果使用 公钥 对数据 进行加密,只有用对应的 私钥才能进行解密。

使用方法:甲方生成 一对密钥 并将其中的一把作为公钥向其它人公开,得到该公钥的乙方使用该密钥对机密信息进行加密,后再发送给甲方,甲方再使用自己保存的另一把专用密钥 (私钥),对加密后的信息进行解密。

三、常用数据加密算法

1、AES 加密算法

AES 加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为 128、192、256,分组长度 128 位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准,已经被多方分析且广为全世界所使用。

2、DES 加密算法

DES 加密算法是一种 分组密码,以 64 位为 分组对数据 加密,它的 密钥长度 是 56 位,加密解密 用 同一算法。

DES 加密算法是对 密钥 进行保密,而 公开算法,包括加密和解密算法。这样,只有掌握了和发送方 相同密钥 的人才能解读由 DES加密算法加密的密文数据。因此,破译 DES 加密算法实际上就是 搜索密钥的编码。对于 56 位长度的 密钥 来说,如果用 穷举法 来进行搜索的话,其运算次数为 2 ^ 56 次。

3、RSA 加密算法

RSA 加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。RSA 是第一个能同时用于加密和数宇签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

4、Base64 加密算法

Base64 加密算法是网络上最常见的用于传输 8bit 字节代码的编码方式之一,Base64 编码可用于在 HTTP 环境下传递较长的标识信息。例如,在 JAVAPERSISTENCE 系统 HIBEMATE 中,采用了 Base64 来将一个较长的唯一标识符编码为一个字符串,用作 HTTP 表单和 HTTPGETURL 中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在 URL(包括隐藏表单域)中的形式。此时,采用 Base64 编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

5、MD5 加密算法

MD5 用的是 哈希函数,它的典型应用是对一段信息产生 信息摘要,以 防止被篡改。严格来说,MD5 不是一种 加密算法 而是 摘要算法。无论是多长的输入,MD5 都会输出长度为 128bits 的一个串 (通常用 16 进制 表示为 32 个字符)。

6、SHA1 加密算法

SHA1 是和 MD5 一样流行的 消息摘要算法,然而 SHA1 比 MD5 的 安全性更强。对于长度小于 2 ^ 64 位的消息,SHA1 会产生一个 160 位的 消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被应用在检查 文件完整性 以及 数字签名 等场景。

四、数据加密格式

数据加密格式常见的有:.pem .pfx .cer .key等,这里着重介绍一下.pem格式文件

.pem文件一种可阅读格式的文本文件,文件内容可能代表证书、秘钥等。

由于许多密码学相关的标准都是由 ASN.1 定义数据结构,然后用 Distinguished Encoding Rules (DER) 去序列化这些结构,序列的结果为二进制文件,比如证书、密钥等。纯二进制文件不易在网络中传输,在很多情况下也不套容易展示出来。一般我们通过Base64 或者HEX来编码二进制文件。PEM就使用了Base64编码了二进制文件。

​ PEM是把二进制数据通过Base64进行编码,然后再头部添加header -----BEGIN XXX----- 尾部添加footer -----END XXX-----。 header 和footer之间的数据就是被Base64编码的二进制数据。XXX 是要编码的数据内容类型,可以是 CERTIFICATE 、CERTIFICATE REQUEST、 PRIVATE KEY 、X509 CRL 。我们可以通过header和footer就可以推断出编码的数据内容类型。如:RSA秘钥

RSA公钥文件:

-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAMcqPqejzpXzdAsnvv+/8FX9jkI7c1F9GqTnBBxfSPGqJhi/eQ5OyS98
TQ8sHy28XmNUPzEzA5HZ4i6tX9dfxXLv4mAykGZBmh+S1vv3Ztv53ECnYqL9hO1W
G1c6JLnV2CfJjaoVIfzbOpCQ7DIKFCCiAOYzVs2LYOiO8S2kXmozAgMBAAE=
-----END RSA PUBLIC KEY-----

RSA私钥文件:文章来源地址https://www.toymoban.com/news/detail-423535.html

-----BEGIN RSA PRIVATE KEY-----
MIICYAIBAAKBgQDHKj6no86V83QLJ77/v/BV/Y5CO3NRfRqk5wQcX0jxqiYYv3kO
TskvfE0PLB8tvF5jVD8xMwOR2eIurV/XX8Vy7+JgMpBmQZofktb792bb+dxAp2Ki
/YTtVhtXOiS51dgnyY2qFSH82zqQkOwyChQgogDmM1bNi2DojvEtpF5qMwIDAQAB
AoGAYonjL/wa1RP7wR0sIcssNM9bmCdj2diE2zu1S/hU1cRyTuJFGbAfWBAu7CfP
UUiWhpyDG2t7A6mCf8elYs3+a4oRFz1gri4CkbkWTRe14qocn7KPI5z0Vd2I7qoF
z7nsYs08bhcVSgPUfvPMBPEsfp3+e4DBWhMDdR7hL+R0XiECRQDuJATh2iDQ5s+0
j6TsMKBe/6EJB4SMeajxYKDhaQI0mveuTvAZgglW/ZTC6y0dkWtEjquix0/ocya1
WYiV6zf0KoucgwI9ANYZ8e8jrM5zfJfI0zm+RmouMo0xjCvOQTA8lONME994r0MA
2NQyAsW+aOH5z+HTntD1mmt8udPXQVbskQJEFN5FK0GBJK1FQE5iJmxwcUK3auIk
xGaY3mYYUwhvsApwb+7s7V9O0DeyhI41SuUGYGCcO8x5fSYyGyw4YuLU6WmdCF8C
PEInfiPgKBMaiBL2UJ309xjz8VbDSoZ2kpnu/ipFZZaVWcIgTt8yHL0xGoNIhz1G
ADqcyPwRa/HS/zN2oQJFAIKy9Pw5sY+cwpFyLqMIliQdVLw00HlnGtYy+5rVkkL6
xOlCHf2glAsX5TT8esu4MoTk3NIJt4uLsjUfluOI5UIJ3D5K
-----END RSA PRIVATE KEY-----

到了这里,关于常用数据加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .net中加解密用BouncyCastle就够了,支持常用的各种加密解密算法

    BouncyCastle 是一个流行的 Java 加解密库,也支持在 .NET 平台上使用。下面是 BouncyCastle 在 .NET 下使用的一些常见功能,包括 AES、RSA、MD5、SHA1、DES、SHA256、SHA384、SHA512 等。 在开始之前,请确保你已经将 BouncyCastle 的 NuGet 包安装到你的项目中。你可以通过 NuGet 包管理器控制台或

    2024年02月05日
    浏览(55)
  • Android 使用sqlcipher加密和解密数据库(包括加密和解密已有的数据库,还有如何查看数据库教程)

    前言 我们知道Android系统有一个内嵌的SQLite数据库,并且提供了一整套的API用于对数据库进行增删改查操作,SQLite是一个轻量级的、跨平台的、开源的嵌入式数据库引擎,也是一个关系型的的使用SQL语句的数据库引擎,读写效率高、资源消耗总量少、延迟时间少,使其成为移

    2024年02月06日
    浏览(54)
  • 利用Base64加密算法将数据加密解密

    Base64准确来说并不像是一种加密算法,而更像是一种编码标准。 我们知道现在最为流行的编码标准就是ASCLL,它用八个二进制位(一个char的大小)表示了127个字符,任何二进制序列都可以用这127个字符表示出来。 而Base64则是用6个二进制位表示了64个字符,也就是说,任何的

    2024年04月09日
    浏览(95)
  • 实战:加密传输数据解密

    下面将分享一些实际的渗透测试经验,帮助你应对在测试中遇到的数据包内容加密的情况。我们将以实战为主,技巧为辅,进入逆向的大门。 开局先讲一下技巧,掌握好了技巧,方便逆向的时候可以更加快速的找到关键函数位置! 后续也会有更多的实战会按照技巧去操作。

    2024年01月23日
    浏览(47)
  • Go 加密解密数据(对称)

    如果Web应用足够简单,数据的安全性没有那么严格的要求,那么可以采用一种比较简单的加解密方法是 base64 ,这种方式实现起来比较简单,Go语言的 base64 包已经很好的支持了这个,请看下面的例子: Go语言的 crypto 里面支持对称加密的高级加解密包有: crypto/aes 包:AES(Adv

    2024年02月15日
    浏览(59)
  • 加密越来越简单——用JavaScript实现数据加密和解密

    在当今互联网的世界中,安全性越来越受到关注,数据加密成为了必不可少的一环。Javascript作为前端开发的主要语言之一,也有着重要的加密应用。本篇博客将讨论Javascript加密的概念、常用算法以及代码示例。 Javascript加密 ,简单来说就是通过Javascript实现数据的加密和解密

    2024年02月15日
    浏览(64)
  • STM32利用AES加密数据、解密数据

    https://www.md5ma.com/md5-generator 原文链接 使用注意点: 1、AES_KEY_LENGTH取值只能是128,192 和 256 2、密钥和向量表长度为AES_KEY_LENGTH/8个字节 3、加密、解密数据长度为AES_KEY_LENGTH/8的整数倍字节 原文链接:https://blog.csdn.net/joyopirate/article/details/122006598 假如你用的是stm32cubeide,可以考虑

    2024年04月12日
    浏览(62)
  • pgsql数据库加密解密

    1.安装外部模块 pgcrypto 2.查看pgcrypto版本 3.明文加密 aes:加密算法,支持aes、aes-cbc等 hex:编码格式,支持hex、base64等 account:秘钥,任意字符串 4.密文解密

    2024年02月12日
    浏览(50)
  • 如何使用MyBatis进行数据存储的加密、解密

    背景:在大部分的系统中,出于用户的隐私安全考虑,都会对数据库内容进行加密,那么在编写业务代码逻辑时加密也不太现实。于是通用的加解密插件就应运而生,本文将采用mybatis的拦截器作为基础进行实现。 思路:我们可以通过mybatis的拦截器进行参数的加密和解密 Ex

    2024年02月12日
    浏览(75)
  • 小程序动态调试-解密加密数据与签名校验

    前言: 微信小程序的加密与验签早前大多数情况,要么就是逆向获取源码而后拿到加密秘钥,要么就是逆向拿到源码后使用腾讯自带的小程序开发者功能进行动态调试模拟,今天介绍一款志远大佬的开源工具—WeChatOpenDevTool 工具下载地址: https://github.com/JaveleyQAQ/WeChatOpenDevTo

    2024年03月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包