精华内容
下载资源
问答
  • 摘要 一段信息,经过摘要算法得到一串哈希值,即为摘要(digest); 信息是任意长度,而摘要是定长的;...先有私钥,再用函数生成公钥,公钥包含了私钥的信息,但也掺杂了其他随机变量,因此不能反推。 具体的两...

    摘要

    • 一段信息,经过摘要算法得到一串哈希值,即为摘要(digest);
    • 信息是任意长度,而摘要是定长的;
    • 常见的摘要算法有MD5、SHA1、SHA256、SHA512等,算法把无限的映射成有限,因此可能产生碰撞(两个不同的信息,算出的摘要相同)

    非对称加密算法

    算法重要的概念是公钥和私钥

    先有私钥,再用函数生成公钥,公钥包含了私钥的信息,但也掺杂了其他随机变量,因此不能反推。

    具体的两种情形:

    1. 对方用你的公钥加密信息,你收到后用私钥解开(只有你有私钥,只有你能解开,保证安全)
    2. 私钥加密的信息对方能用你提供的公钥解开

    数字签名(不可抵赖+无法仿冒)

    摘要经过加密,就得到数字签名

    数字签名在发送方分为两步:

    1. 从内容算摘要(哈希算法)
    2. 从摘要明文到摘要密文,也称数字签名(发送方私钥+加密算法)

    数字签名验证在接收方,分两步:

    1. 从摘要密文(数字签名)到摘要明文(发送方公钥+解密算法)
    2. 从接收到的内容当场计算摘要(哈希算法),比对结果是否一致

    数字证书

    为了保证“公钥”是可信的,数字证书应运而生

    数字证书的处理流程:

    发送方先把自己的公钥发给CA,CA用自己的私钥和加密算法对发送方的公钥进行加密,得到的就是CA的数字证书

    注意:这里的两个不同的非对称算法(对应的两个公私钥对),一个算法是发送方加密摘要的,生成数字签名;另一个算法是CA加密发送方公钥的,用于生成数字证书。两个算法相互独立,没有必然联系。

    在这里CA是第三方机构,CA公钥是公开的,接收方是可以查到的,不可能伪造,但是发送方公钥,接收方是通过通信得到的,收到后无法验证。

    参考文献

    https://zhuanlan.zhihu.com/p/32754315

    展开全文
  • MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...

    MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。

    目前接触到MD5主要是涉及到网络数据传输的安全性(检测数据是否被篡改),关于传递的数据有如下想法:

    将原数据通过MD5生成校验码,

    将原数据加密,

    将校验码与加密后的数据传送给目标,

    目标接收后,取出校验码,将加密的数据通过秘钥解密,

    将解密后的数据通过MD5生成校验码,

    比较两次校验码是否一致以此判断数据是否被篡改。

    下面演示一下MD5生成校验码

    #include "E:\\截图、文档、工具\\文档\\MD5\\MD5.h"
    #include "E:\\截图、文档、工具\\文档\\MD5\\MD5.cpp"
    
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    
    	MD5_CTX md5;
    	MD5Init(&md5);                          //初始化用于md5加密的结构
    
    
    	unsigned char decrypt[16];       //存放加密后的结果
    
    	unsigned char encrypt[200]="Baidu";     //存放于加密的信息
    	MD5Update(&md5,encrypt,strlen((char *)encrypt));   //对欲加密的字符进行加密
    	MD5Final(decrypt,&md5);                            //获得最终结果
    
    	printf("加密前:%s\n加密后:",encrypt);
    	for(int i=0;i<16;i++)
    		printf("%x ",decrypt[i]);
    
    	printf("\n");
    
    	MD5Init(&md5);                        //每次使用前必须初始化md5
    	unsigned char encrypt1[200]="Baidu";
    	/*printf("请输入待加密的字符串\n");
    	gets((char *)encrypt1);*/
    	MD5Update(&md5,encrypt1,strlen((char *)encrypt1));   //对欲加密的字符进行加密
    	MD5Final(decrypt,&md5);                            //获得最终结果
    	printf("加密前:%s\n加密后:",encrypt1);
    	for(int i=0;i<16;i++)
    		printf("%x ",decrypt[i]);
    
    	printf("\n");
    
    	MD5Init(&md5);
    	unsigned char encrypt2[200]={0};
    	printf("请输入待加密的字符串\n");
    	gets((char *)encrypt2);
    	MD5Update(&md5,encrypt2,strlen((char *)encrypt2));   //对欲加密的字符进行加密
    	MD5Final(decrypt,&md5);                            //获得最终结果
    
    	for(int i=0;i<16;i++)
    		printf("%x ",decrypt[i]);
    
    	printf("\n");
    	return 0;
    }

    这时运行结果

    通过代码会发现对"Baidu"这个字符串的三次操作都生成的是同样的校验码.这说明MD5确实是值得信赖的!下面附带MD5下载链接

    这是MD5下载链接

    注意:

        MD5_CTX md5;
        MD5Init(&md5);                          //初始化用于md5加密的结构
        MD5Update(&md5,encrypt,strlen((char *)encrypt));   //对欲加密的字符进行加密
        MD5Final(decrypt,&md5);                            //获得最终结果

    这三步一定要成组合出现,若是哪次生成校验码的过程中少了任意一步,都会导致错误(尤其MD5Init(&md5);这句是将md5初始化,如果不初始化,生成的校验码将会不同!!!)

    展开全文
  • Topic从局部观测反演全局信息的稳定算法及其算法评价指示函数单位 Affiliation复旦大学主讲人 Speaker程晋教授 2020/11/26星期四 10:00-11:00 腾讯会议164 139 843报告摘要 Abstract关于如何从物理场的局部信息反演...
    45fbb126ca612896df394b2cec96ad50.png

    主题 Topic

    32674e2cff492880327e20173c0c0755.gif

    从局部观测反演全局信息的稳定算法及其算法评价指示函数

    单位 Affiliation

    32674e2cff492880327e20173c0c0755.gif

    复旦大学

    主讲人 Speaker

    32674e2cff492880327e20173c0c0755.gif

    程晋教授

    d551860477d10b6e6f8212d14375c2cb.png14580c87f739444c6c5265a2dec02997.png

    2020/11/26  星期四 10:00-11:00

    216450a5157d86e9bd14eb5a8a76270e.png

    腾讯会议164 139 843

    7a04b9da9953885f1e1c5d68bd94aca3.png

    报告摘要 Abstract 

    关于如何从物理场的局部信息反演场的全局信息是解决一些重要问题中的关键之一,如地质勘探、海底探测等。这个问题与偏微分方程的一个基本性质,唯一延拓性(Unique continuation)密切相关。唯一延拓性表明方程解的局部信息可以唯一决定解的整体信息。但是唯一延拓性问题一个本质性的难点是在Hadamard意义下的严重不适定性,即解的局部测量数据的微小变化可能导致解在整体范围内巨大改变。这给数值处理带来很大的难度。我们基于解的单层位势的表达式,结合Tikhonov正则化方法,提出了一种唯一延拓问题的重构算法,并给出了这个算法的评价指示函数。利用这个指示函数,我们可以清楚地知道在区域中的每个点上重构算法的精确程度。

    1f10bbb317d3290f7b859984d586a649.png

    主讲人介绍 

    Speaker Introduction 

    程晋,复旦大学数学科学学院教授, 2001年晋升教授,现任上海市现代应用数学重点实验室主任;上海市工业与应用数学学会理事长;英国Institute of Physics Fellow、国际反问题联盟执行委员等。2011年起任国家基金委重大研究计划“高性能计算的基础算法和可计算建模”专家组成员。曾任中国数学会副理事长,国家基金委数理学部专家评审组成员;美国NSF评审Panel member,多个国际知名期刊编委等。在国内外学术刊物上已发表论文110余篇。2019年获得上海市自然科学奖一等奖。在偏微分方程反问题的理论分析和一般反问题的高效反演算法方面取得多项重要进展。在应用方面,与新日铁等国内外企业进行了有效的合作,取得了突出的成果,得到了业界的好评。

    1f10bbb317d3290f7b859984d586a649.png

    ------------中山大学珠海数学------------

    编辑:张钊

    责任编辑:何俊颐

    初审:裴丹

    审核:周剑芬

    审核发布:孔晓慧

    bed041e746736e371630059e4006e6ce.gif

    展开全文
  • 摘要:在MySQL数据库中对日期函数进行格式化输出时,关于小时的输出有”H”和”h”两种不同的写法,那么它们有什么不同呢?下文将一一道来H 和 h输出的说明Date_FORMAT 中如果采用大写的H,则会输出24小时制的时间...

    摘要:

    在MySQL数据库中对日期函数进行格式化输出时,关于小时的输出有”H”和”h”两种不同的写法,那么它们有什么不同呢?

    下文将一一道来

    H 和 h输出的说明

    Date_FORMAT 中如果采用大写的H,则会输出24小时制的时间信息;

    Date_FORMAT 中如果采用小写的h,则会输出12小时制的时间信息;

    H 和 h输出的举例

    mysql> select post_date,date_format(post_date,'%H') as '24H'

    > ,date_format(post_date,'%h') as '12h'

    > from maomao_posts limit 10;

    +---------------------+------+------+

    | post_date | 24H | 12h |

    +---------------------+------+------+

    | 2014-12-01 15:29:30 | 15 | 03 |

    | 2014-12-01 15:32:13 | 15 | 03 |

    | 2014-12-01 15:34:44 | 15 | 03 |

    | 2014-12-01 15:35:36 | 15 | 03 |

    | 2014-12-02 16:28:05 | 16 | 04 |

    | 2014-12-04 15:11:16 | 15 | 03 |

    | 2014-12-09 10:39:52 | 10 | 10 |

    | 2014-12-09 10:45:27 | 10 | 10 |

    | 2014-12-11 14:53:12 | 14 | 02 |

    | 2014-12-18 08:50:15 | 08 | 08 |

    +---------------------+------+------+

    10 rows in set (0.00 sec)

    bf5d27633c589bfc99af23406fb9b3eb.gif

    date_format大小写h的用法

    展开全文
  • MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值...
  • 今天阅读《unix环境高级编程》P153中关于c程序的存储空间布局提到栈的变化:自动变量以及每次函数调用时所需保存的信息都存放在此段中。有点不理解了,于是上网查资料。所得如下: 摘要:本文说明高级语言编译成...
  • MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
  • 前言最近看了很多关于消息摘要算法这方面的资料,既有CSDN上面各路大神写的文章...MD5算法概述MD5信息摘要算法(MD5 Message-Digest Algorithm)是一种被广泛使用的密码散列函数,由MD4改进而来。点我看MD4算法原理...
  • 信息是指局中人在作出决策前,所了解的关于得失函数或支付函数的所有知识,包括其他局中人的策略选择给自已带来的收益或损失,以及自己的策略选择给自己带来的因素,只有掌握了信息,才能准确地判断他人和自己的行动...
  • 关于debug.keystore

    2013-11-12 21:09:32
    接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,...
  • 关于加密安全

    2019-06-01 18:14:09
    使用同一个密匙进行解密和加密。 ...具有私匙和公匙。公匙用作信息发送方的数据加密,私匙用作信息接收方的数据...信息通过密码散列函数的运算获得该消息的一个标识(保证信息完整性)。 消息验证: 发送端:将密匙和文...
  • 关于神奇的MD5算法--21

    2013-06-10 23:30:00
    1. MD5的全称是Message-DigestAlgorithm5...不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位 的信息摘要。 加密哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串。加...
  • 并且添加一摘要行用来显示其他三列在这一地区分组下的总面积之和。 并且根据点击不同的分类弹出不同的提示信息。   二、问题描述: 因为需要根据点击的分类显示不同的提示,所以要对点击的分类进行判断,于是...
  • 径向基函数;棉花耗水量 引言: 计算机人工神经网络是20世纪80年代兴起的非线性科学,其在人工智能、自动控制和模式识别等领域取得了令人瞩目的成果。将神经网络应用于非线性系统的建模和预测,可以有效地描述...
  • MessageDigest 详解

    2017-11-27 13:49:45
    一、概述 java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,...关于信息摘要和散列码请参照《数字证书简介》 MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。MessageDi
  • qukuailian

    2018-08-22 14:57:53
    java.security.MessageDigest类用于为应用程序提供信息摘要算法的...关于信息摘要和散列码请参照《数字证书简介》 MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。MessageDigest 对象通过使...
  • MessageDigest简介

    2018-08-10 16:39:44
    一、概述 java.security.MessageDigest类用于为应用程序提供信息摘要算法的...关于信息摘要和散列码请参照《数字证书简介》 MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。MessageDigest...
  • MessageDigest详解

    千次阅读 2018-07-05 09:55:11
    一、概述java.security.MessageDigest类用于为应用程序提供信息摘要算法的...关于信息摘要和散列码请参照《数字证书简介》MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。MessageDigest 对象通...
  • 径向基函数;棉花耗水量 引言: 计算机人工神经网络是20世纪80年代兴起的非线性科学,其在人工智能、自动控制和模式识别等领域取得了令人瞩目的成果。将神经网络应用于非线性系统的建模和预测,可以有效地描述...
  • SHA-256 java加密代码

    2016-08-24 17:39:31
    关于信息摘要和散列码请参照《数字证书简介》 MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。MessageDigest 对象通过使用 update 方法处理数据。任何时候都可以调用 reset 方法重置摘要。一旦...
  • 转自http://blog.csdn.net/hudashi/article/details/8394158一、概述java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA ...关于信息摘要和散列码请参照《数字证书简介》MessageD...
  • java中为比较文件差异,提供了 MessageDigest 类,通过计算出文件的 MD5 值检测文件是否被修改。 java.security.MessageDigest类用于为应用程序提供信息摘要...关于信息摘要和散列码请参照《数字证书简介》Message
  • 一、概述 java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。简单点说就是用于生成散列码。信息摘要是安全的单向哈希函数,它接收...关于信息摘要和散列码请参照《数字证书
  • MessageDigest详解(Java自带加密)

    千次阅读 2016-05-12 15:02:02
    一、概述 java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。简单点说就是用于生成散列码。信息摘要是安全的单向哈希函数,它...关于信息摘要和散列码请参照《数字证书

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 127
精华内容 50
关键字:

关于信息摘要函数