kbmMW TkbmMWHashSHA256与Delphi 10.2 THashSHA2算出相同的结果
procedure TForm2.Button3Click(Sender: TObject);
var
hashed:string;
begin
hashed:=TkbmMWHashSHA256.HashAsString('mypassword','somesaltvalue');
Label1.Caption:='TkbmMWHashSHA256='+hashed;
end; procedure TForm2.Button4Click(Sender: TObject);
var
hashed:string;
LSHA2: THashSHA2;
begin
LSHA2 := THashSHA2.Create;//(SHA256);
LSHA2.Update('somesaltvalue');
LSHA2.Update('mypassword');
hashed:=LSHA2.HashAsString;
Label2.Caption:='Delphi LSHA2.HashAsString='+hashed.ToUpper;
end; end.
自Delphi 10.2,在System.Hash单元中,新增了HashSHA256等支持,而在最新的kbmMW 5.06 beta版中,在kbmMWCipherHash单元中,也进一步完善对Hash256等支持,有何不同呢?
例如下面这行代码,直接将给定字符串加salt后得到加密结果,如果基于Delphi原生hash256怎么实现?
hashed:=TkbmMWHashSHA256.HashAsString('mypassword','somesaltvalue');
困扰了半天,最终在xalion帮助下,才知道如何实现。
LSHA2: THashSHA2;
begin
LSHA2 := THashSHA2.Create;//(SHA256);
LSHA2.Update('somesaltvalue');
LSHA2.Update('mypassword');
hashed:=LSHA2.HashAsString;
Label2.Caption:='Delphi LSHA2.HashAsString='+hashed.ToUpper;
end;
还是kbmMW实现的好,一行代码换成Delphi原生要写这么多句。下图是运行结果:

环境:Delphi 10.2.3+kbmMW 5.06.01 beta.
kbmMW TkbmMWHashSHA256与Delphi 10.2 THashSHA2算出相同的结果的更多相关文章
- Delphi发布了社区版及Delphi 10.3展望
http://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2_3__93231.iso,注册机在这里 注册号要自己去申请 ...
- Delphi 10.2 Tokyo的新特性
Delphi 10.2(Tokyo)出来一段时间了,最重要的新特性就是支持Linux的服务端. 官网有详细的介绍: 这里是主要的特性介绍:https://www.embarcadero.com/pro ...
- Delphi 10.1 Berlin UTF8String Test
Delphi 10.1 Berlin UTF8String Test procedure TForm1.Button1Click(Sender: TObject); var s: UTF8String ...
- Delphi 10.1 Berlin 官方未列之修正
Delphi 10.1 Berlin 官方修正列表: Bug fix list for RAD Studio 10.1 Berlin Delphi 10.1 Berlin 官方未列之修正: 修正 iO ...
- Delphi 10 Seattle Update 1 修复 iOS HTTP 协定需求
在 iOS 9 Apple 加入了 HTTP 协议,还好有 TMS 提供快速修复工具,得以能顺利上架到 App Store. 现在 Delphi 10 Seattle Update 1 提供了这个设定 ...
- delphi 10 seattle 安卓服务开发(三)
delphi 10 里面的安卓服务有四种,上面的一篇文章里面的图有介绍. 今天做一个remote service 的例子.(里面一部分代码是抄别人的,如果不太清楚,自行恶补) remote servi ...
- delphi 10 seattle 安卓服务开发(二)
关于delphi 10 移动服务开发的几张图
- delphi 10 seattle 中 解决IOS 9 限制使用HTTP 服务问题
IOS 9 于17号早上正式开始推送,早上起来立马安装,这次升级包只有1G, 安装空间也大大降低(想起IOS 8 升级时,几乎把手机里面的东西删光了,满眼都是泪). 虽然安装后,网上几乎是铺天盖地的吐 ...
- delphi 10.1 berlin最新的开发框架:咏南中间件+咏南开发框架,购买后提供全部的源码
咏南中间件+咏南开发框架支持最新的delphi 10.1(berlin),老用户提供免费升级. 购买提供:中间件源码 附带福利(赠送): CS开发框架源码BS开发框架源码移动APP源码中间件集群源码二 ...
随机推荐
- [异常记录-13]Web Deploy发布:An error occurred when the request was processed on the remote computer
大概搜了一下这个报错,大家的情况各不相同,但应该是 Web Deploy 安装导致的没错了... 建议粗暴解决, 卸载后重新安装 Web Deploy 时,不要选那个经典还是典型的安装选项,选自定义 ...
- java中Scanner类nextInt之后用nextLine无法读取输入
http://blog.csdn.net/wjy1090233191/article/details/42080029 这篇文章写得非常详细和准确
- JavaScript页面跳转的一些实现方法
第一种 <script language=”javascript” type=”text/javascript”> window.location.href=”login.jsp?back ...
- Ubuntu 定时任务
一.cron相关命令 #重载cron sudo service cron reload #查看cron状态 service cron status #查看cron pid pidof ...
- 【转】libxml2 如何获得某个节点的所有信息
网址:http://bbs.csdn.net/topics/380115580 顶楼: 我的需求是这样的,我使用libxml2从内存中解析一个xml文件,需要修改某个节点下的一个子节点,修改完成之后, ...
- iframe 通信问题
iframe作用: 1:页面部分刷新(iframe也是一个window,html是完整的不是部分html片段) 2:跨域 3:父子window通信 iframe1.window.xx=xx;paren ...
- vs.net应用程序图标以及制作安装程序快捷方式图标设置
我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况, ...
- android--------阿里 AndFix 热修复
AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug. 支持Android 2.3 到 6.0,并且支持arm 与 X86 ...
- android--------volley之网络请求和图片加载
Volley是 Google 推出的 Android 异步网络请求框架和图片加载框架. Volley的特性 封装了的异步的请求API.Volley 中大多是基于接口的设计,可配置性强. 一个优雅和稳健 ...
- Confluence 6 的 Crowd 设置
名字(Name) 输入一个有意义的服务器名字,会让你在 Crowd 服务器中更好的识别你的目录服务器: Crowd Server Example Company Crowd 服务器URL(Server ...