【区块链】(四)之常见的加密算法

2023-11-10

我们经常在谍战片里看到,我军传递情报用电报发送,但敌人也可以截取电报,这就需要对电报发送的内容进行加密,当时常用的加密方式是通过一段密文,对情报进行加密,比如说是当天的日报。这种属于对称加密,差不多是DES加密算法。这里简单介绍几种。

 

 

主要介绍这几种

需要注意的是,不可逆的不代表真的不可逆。

(1)MD5

 

Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

 

 

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

 

 

MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。

MD5为不可逆的加密方式一般用作密码验证,当密码加密结果一致时则认为登陆成功;

public class MD5
{
    public string MD5Encrypt(string normalTxt)
    {
        var bytes = Encoding.Default.GetBytes(normalTxt);//求Byte[]数组
        var Md5 = new MD5CryptoServiceProvider().ComputeHash(bytes);//求哈希值
        return Convert.ToBase64String(Md5);//将Byte[]数组转为净荷明文(其
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

随机推荐

  • GMT格林威治时间&标准时&北京时间

    格林威治时间 Greenwich Mean Time 英文简写GMT 是国际标准时间 也被称为世界时 生活中最常听 最常用的是北京时间 或东八区时间 的叫法 而世界时区的划分和地理位置相关 全球共分为24个时区 每个时区内又有相应的标准时
  • Java的集中注释及用法,快捷键

    Java一共有三种注释方式 1 单行注释 注释内容 快捷键 注释 ctrl 取消注释 ctrl Eclipse和Idea应该是一样的特殊情况Idea可能不适用 但是Eclipse一定行 2 多行注释 注释内容 快捷键 注释 ctrl shi
  • 用虚拟机玩游戏的方法!! 开3D加速!

    曾经用过一些不同虚拟机结果大多都不支持3D驱动 所以导致虚拟机是不能够玩游戏的 今天给大家带来的是用虚拟机玩游戏的方法 虚拟机软件 VMWare虚拟机 版本最好是在6 0以上 硬件要求 CPU2 4以上 内存在1G以上 512的朋友可以试试
  • dedecms搜索功能实现

    index htm
  • @validate校验中的@NotEmpty、@NotBlank、@NotNull区别

    1 引入的包 jakarta validation api 2 0 2 jar 2 直接看源码上的注释 NotEmpty The annotated element must not be code null nor empty p Sup
  • coverity分析端软件环境搭建

    在某linux机器的 share2 coverity 目录下安装使用coverity说明 从官网下载安装文件 cov analysis linux64 2019 06 sh 放置于 share2 coverity 目录下 我是由于机器安装软
  • arch linux 防火墙,Arch linux操作系统之Firewalld防火墙安装使用

    本篇文章将介绍一下Arch下安装配置firewall防火墙 Centos7 X系列 FirewallD默认直接开启的 root Centos6 chkconfig list grep iptables centos6 x系列 iptable
  • c++day4

    仿照string类 完成myString 类 include
  • 【译】用 Rust 实现 csv 解析-part7

    Rust and CSV parsing 译文 用 Rust 实现 csv 解析 part7 原文链接 https blog burntsushi net csv 原文作者 BurntSushi 译文来自 https github com
  • 【华为OD机试真题】网上商城优惠活动(python版)100%通过率 超详细代码注释 代码解读

    华为OD机试真题 2022 2023 真题目录 点这里 华为OD机试真题 信号发射和接收 试读 点这里 华为OD机试真题 租车骑绿道 试读 点这里 网上商城优惠活动 时间限制 1s 空间限制 50MB 限定语言 不限 题目描述 背景 某网上
  • C++的++

    include stdafx h int main int x y m n x 0 x x printf x 0 x x的值是 d n x x 0 y 0 y x printf x 0 y 0 y x的值是 d n y x 0 x x pr
  • Zotero使用指南02:配合Word

    转载Zotero使用指南02 配合Word Zotero是一款广受好评的文献管理软件 其具有四大优点 首先是开源免费 源代码托管在Github平台 其次 其软件界面基于浏览器内核 支持Windows MacOS Linux多种操作系统 此外
  • Threejs基础代码段(二)Tweenjs补间动画

    一 Tweenjs是什么 tween js是一款可生成平滑动画效果的js动画库 只需要告诉tween你想修改什么值 以及动画结束时它的最终值是什么 动画花费多少时间等信息 tween引擎就可以计算从开始动画点到结束动画点之间值 来产生平滑的
  • sqlmap tamper脚本_注入工具 -- sqlmap(注入参数)

    任何关系走到最后 不过相识一场 有心者有所累 无心者无所谓 情出自愿 事过无悔 不负遇见 不谈亏欠 一 指定数据库类型 dbms http 192 168 1 121 sqli Less 1 id 1 name 2 dbms mysql d
  • 前后端部署具体详解(Go+Vue+Nginx)

    与你相识 博主介绍 本人是普通大学生一枚 每天钻研计算机技能 CSDN主要分享一些技术内容 因我常常去寻找资料 不经常能找到合适的 精品的 全面的内容 导致我花费了大量的时间 所以会将摸索的内容全面细致记录下来 另外 我更多关于管理 生活的
  • AcWing 172. 立体推箱子 BFS+状态表示

    题 代码参考了书上的 判断是否合法的函数写的好精简 这题理解了 就能很好的理解BFS 状态表示的理解 lie 0 立着 lie 1 横着躺着 lie 2 竖着躺着 j 0123分别表示左右上下 nextx i j 代表lie i时x往j方向
  • C++进阶:继承

    继承 面向对象的三大特性 封装 继承 多态 继承在实际中用的也不是太多 但必须能熟练使用 1 继承的概念 继承机制是面向对象思想中复用代码的一种手段 它能够在原有类的特性的基础上进行扩展 由此产生新的类 称为派生类 原有类称作基类 继承体现
  • mybatis 中的<![CDATA[ ]]>用法及说明

    作用 在mybatis ibatis等书写SQL的xml中比较常见 是一种XML语法 他的作用是 可以忽略xml的转义 在该标签中的语句和字符原本是什么样的 在拼接成SQL后还是什么样的 使用 select from user where
  • 如何自定义设置虚拟机的的IP地址

    如何自定义设置虚拟机的的IP地址 之前我们装虚拟机的时候是选择使用DHCP服务器帮我们自动分配 现在我们想固定一个IP给虚拟机 方便以后使用 1 首先我们需要知道虚拟机可用的网段是哪一段 在VMware的主页点击编辑 然后点击里面的虚拟网络
  • 【区块链】(四)之常见的加密算法

    我们经常在谍战片里看到 我军传递情报用电报发送 但敌人也可以截取电报 这就需要对电报发送的内容进行加密 当时常用的加密方式是通过一段密文 对情报进行加密 比如说是当天的日报 这种属于对称加密 差不多是DES加密算法 这里简单介绍几种 主要介