HashHelper】的更多相关文章

在C#中,数据的Hash以MD5或SHA-1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高. MD5与SHA1的比较: 1)对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位.使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操作,而对SHA-1则是2^160数量级的操作.这样,SHA-1对强行攻击有更大的强度. 2)对密码分析的安全性:由于…
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依赖注入.ORM.对象映射.日志.缓存等等功能,都只定义了一套最基础最通用的抽象封装,提供了一套统一的API.约定与规则,并定义了部分执行流程,主要是让项目在一定的规范下进行开发.所有的功能实现端,都是通过现有的成熟的第三方组件来实现的,除了EntityFramework之外,所有的第三方实现都可以轻…
之前先后总结并发表了关于WEB Service.WCF身份验证相关文章,如下: 关于WEB Service&WCF&WebApi实现身份验证之WEB Service篇. 关于WEB Service&WCF&WebApi实现身份验证之WCF篇(1).关于WEB Service&WCF&WebApi实现身份验证之WCF篇(2) 今天再来总结关于如何实现WebApi的身份验证,以完成该系列所有文章,WebApi常见的实现方式有:FORM身份验证.集成WINDOWS…
1.哈希(Hash)与加密(Encrypt)的区别 哈希(Hash)是将目标文本转换成具有相同长度的.不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的.可逆的密文. i.哈希算法往往被设计成生成具有相同长度的文本,而加密算法生成的文本长度与明文本身的长度有关. 例:设我们有两段文本:"Microsoft"和"Google".两者使用某种哈希算法得到的结果分别为:"140864078AECA1C7C35B4BEB…
本文旨在科普安全相关的知识,并附一个C#实现的文件管理工具. Hash 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的五种安全散列算法.能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法.且若输入的消息不同,它们对应到不同字符串的概率很高.这些算法之所以称作"安全"是基于以下两点(根据官方标准的描述): HASH是根据文件的内容的数据通过逻辑运算得到的数值, 不同的文件(即使是相同的文件名)得…
MSDN的File类 File类在MSDN:https://msdn.microsoft.com/zh-cn/library/system.io.file_methods(v=vs.110).aspx FileHelper.cs FileHelper提供的功能: 递归获取指定目录下所有的文件 获取指定目录下所有的子目录 using System; using System.Collections.Generic; using System.IO; public class FileHelper…
0.摘要 今天看到吉日嘎拉的一篇关于管理软件中信息加密和安全的文章,感觉非常有实际意义.文中作者从实践经验出发,讨论了信息管理软件中如何通过哈希和加密进行数据保护.但是从文章评论中也可以看出很多朋友对这个方面一些基本概念比较模糊,这样就容易“照葫芦画瓢”,不能根据自身具体情况灵活选择和使用各种哈希和加密方式.本文不对哈希和加密做过于深入的讨论,而是对哈希和加密的基本概念和原理进行阐述.比较,并结合具体实践说明如何选择哈希和加密算法.如何提高安全性等问题,使朋友们做到“知其然,知其所以然”,这样就…
/// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String hashMd5=HashHelper.ComputeMD5("MyFile.txt"); /// </code> /// </example> /// <example>例如计算文件的CRC32值: /// <code> /// Strin…
原文 C# 计算字符串的哈希值(MD5.SHA) 已做修改 一.关于本文 本文中是一个类库,包括下面几个函数: /// 1)计算32位MD5码(大小写):Hash_MD5_32 /// 2)计算16位MD5码(大小写):Hash_MD5_16 /// 3)计算32位2重MD5码(大小写):Hash_2_MD5_32 /// 4)计算16位2重MD5码(大小写):Hash_2_MD5_16 /// 5)计算SHA-1码(大小写):Hash_SHA_1 /// 6)计算SHA-256码(大小写):H…
/// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String hashMd5=HashHelper.ComputeMD5("MyFile.txt"); /// </code> /// </example> /// <example>例如计算文件的CRC32值: /// <code> /// Strin…
先来点题外话,清明节前把工作辞了(去 tm 的垃圾团队,各种拉帮结派.勾心斗角).这次找工作就得慢慢找了,不能急了,希望能找到个好团队,好岗位吧.顺便这段时间也算是比较闲,也能学习一下和填掉手上的坑. 说实话好久没写博客了,一个是手上的工作确实忙,第二个是还有各种各样的坑.写本文的原因也是因为手上的一个坑——ImageEx,WPF/UWP 上的图片缓存控件. 在我写的这个图片缓存控件中,其中有一个地方就是要根据图片的 url 地址,然后来存储或者获取本地的图片文件的.但是呢,我们不可能把 url…
本文是利用一个简单的小例子,简述C#中和加密术有关的内容,仅供学习参考用. 概述 随着信息技术的发展,计算机网络为信息的获取.传输.处理.利用与共享提供了一个高效.快捷.安全的通信环境和传输通道,网络信息安全也变得越来越重要.信息安全主要包括两个方面的内容:信息存储安全和信息传输安全.保证网络中信息安全的主要技术是数据的加密与解密.如下图示,说明了加密与解密的过程. 公式算法表示如下: 加密公式:c=Eke(m)  (11.1) 解密公式:m=Dkd(c)  (11.2)其中m代表明文,c代表密…
今天再来总结关于如何实现WebApi的身份验证,以完成该系列所有文章,WebApi常见的实现方式有:FORM身份验证.集成WINDOWS验证.Basic基础认证.Digest摘要认证  第一种:FORM身份验证(若在ASP.NET应用程序使用,则该验证方式不支持跨域,因为cookie无法跨域访问) 1.定义一个FormAuthenticationFilterAttribute,该类继承自AuthorizationFilterAttribute,并重写其OnAuthorization,在该方法中添…
Digest摘要认证 对于Basic认证方案来说,被传输的认证凭证仅仅采用Base64编码,所以包含密码的认证凭证基本上可以视为明文传输.Digest认证在此基础上进行了改善,在一定程度上提高了安全系数. 在了解Digest认证的工作原理之前,我们看看通过浏览器调用一个Digest认证的Web API会涉及怎样的消息交换 采用浏览器作为Web API调用的客户端,与Basic认证方式一样,浏览器会针对Web API 的第一次调用  会自动弹出登陆对话框 正确输入账号密码(Web API 配置文件…
0.摘要 今天看到吉日嘎拉的一篇关于管理软件中信息加密和安全的文章,感觉非常有实际意义.文中作者从实践经验出发,讨论了信息管理软件中如何通过哈希和加密进行数据保护.但是从文章评论中也可以看出很多朋友对这个方面一些基本概念比较模糊,这样就容易“照葫芦画瓢”,不能根据自身具体情况灵活选择和使用各种哈希和加密方式.本文不对哈希和加密做过于深入的讨论,而是对哈希和加密的基本概念和原理进行阐述.比较,并结合具体实践说明如何选择哈希和加密算法.如何提高安全性等问题,使朋友们做到“知其然,知其所以然”,这样就…
在项目中,在使用哈希表时.有时会须要Override GetHashCode. 这里给出一种普遍的做法: 版本号1:实现一个helper.传递类型T.返回这个类型的hashcode.函数逻辑非常直接,仅仅是做了null check而已.假设obj不为空,则直接使用obj的hash code. public class HashHelper { private int _seed = 17; public int Hash<T>(T obj) { // why 31? // https://co…
先来点题外话,清明节前把工作辞了(去 tm 的垃圾团队,各种拉帮结派.勾心斗角).这次找工作就得慢慢找了,不能急了,希望能找到个好团队,好岗位吧.顺便这段时间也算是比较闲,也能学习一下和填掉手上的坑. 说实话好久没写博客了,一个是手上的工作确实忙,第二个是还有各种各样的坑.写本文的原因也是因为手上的一个坑——ImageEx,WPF/UWP 上的图片缓存控件. 在我写的这个图片缓存控件中,其中有一个地方就是要根据图片的 url 地址,然后来存储或者获取本地的图片文件的.但是呢,我们不可能把 url…
1.引言 HASH是根据文件内容的数据通过逻辑运算得到的数值, 不同的文件(即使是相同的文件名)得到的HASH值是不同的. 通过一定的哈希算法(典型的有MD5,SHA-1等),将一段较长的数据映射为较短小的数据,这段小数据就是大数据的哈希值.他最大的特点就是唯一性,一旦大数据发生了变化,哪怕是一个微小的变化,他的哈希值也会发生变化.类似于DNA,既然是DNA,那就保证了没有两个数据的哈希值是完全相同的. 哈希值的作用:哈希值,即HASH值,是通过对文件内容进行加密运算得到的一组二进制值,主要用途…
  2019年5月28日以前的两三个月时间,使用cnblogs原来的接口时,提示图片无法上传,空间不足,实在没办法了,自己实现了博客代理,发现上传图片时返回了503错误,只好先把图片传到其它服务器,再发布 http://www.cnblogs.com/qinqoushui/services/metaweblog.aspx 新接口 https://rpc.cnblogs.com/metaweblog/QinQouShui   然后,cnblogs突然换了接口,图片上传正常了,一切都白费力气   @…
RDIFramework.NET,基于.NET的快速信息化系统敏捷开发框架.10年沉淀.历经上千项目检验,致力于企业智能化开发,帮助提升软件开发效率.最好用的.NET开发框架,100%源码授权. 1.RDIFramework.NET敏捷开发框架介绍 RDIFramework.NET敏捷开发框架,基于.NET的快速信息化系统开发.整合框架,为企业或个人快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员只需集中精力专注于业务部分的开…
在C#中,数据的Hash以MD5或SHA1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高. 1.1 SHA-1和MD5的比较 因为二者均由MD4导出,SHA-1和MD5彼此很相似.相应的,他们的强度和其他特性也是相似,但还有以下几点不同: 对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位.使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操…
简介 学了上一节的WebApi之后,我们会发现一片新天地 本节跟大家聊一聊,如何把本地的Excel数据导入到NCF中 仓库地址:https://github.com/NeuCharFramework/NCF 欢迎收藏,欢迎Star哦 步骤 1.首先在页面上需要增加可以操作导入的按钮 2.在页面上增加点击导入按钮后需要弹出的窗口 3.在窗口中增加下载导入数据的模板 4.在窗口中增加点击上传的数据的文件进行上传 5.在js中增加对应的窗口中需要处理的方法 6.引入NPOI 7.建立ExcelHelp…