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算出相同的结果的更多相关文章

  1. Delphi发布了社区版及Delphi 10.3展望

    http://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2_3__93231.iso,注册机在这里 注册号要自己去申请 ...

  2. Delphi 10.2 Tokyo的新特性

    Delphi 10.2(Tokyo)出来一段时间了,最重要的新特性就是支持Linux的服务端. 官网有详细的介绍: 这里是主要的特性介绍:https://www.embarcadero.com/pro ...

  3. Delphi 10.1 Berlin UTF8String Test

    Delphi 10.1 Berlin UTF8String Test procedure TForm1.Button1Click(Sender: TObject); var s: UTF8String ...

  4. Delphi 10.1 Berlin 官方未列之修正

    Delphi 10.1 Berlin 官方修正列表: Bug fix list for RAD Studio 10.1 Berlin Delphi 10.1 Berlin 官方未列之修正: 修正 iO ...

  5. Delphi 10 Seattle Update 1 修复 iOS HTTP 协定需求

    在 iOS 9 Apple 加入了 HTTP 协议,还好有 TMS 提供快速修复工具,得以能顺利上架到 App Store. 现在 Delphi 10 Seattle Update 1 提供了这个设定 ...

  6. delphi 10 seattle 安卓服务开发(三)

    delphi 10 里面的安卓服务有四种,上面的一篇文章里面的图有介绍. 今天做一个remote service 的例子.(里面一部分代码是抄别人的,如果不太清楚,自行恶补) remote servi ...

  7. delphi 10 seattle 安卓服务开发(二)

    关于delphi 10 移动服务开发的几张图

  8. delphi 10 seattle 中 解决IOS 9 限制使用HTTP 服务问题

    IOS 9 于17号早上正式开始推送,早上起来立马安装,这次升级包只有1G, 安装空间也大大降低(想起IOS 8 升级时,几乎把手机里面的东西删光了,满眼都是泪). 虽然安装后,网上几乎是铺天盖地的吐 ...

  9. delphi 10.1 berlin最新的开发框架:咏南中间件+咏南开发框架,购买后提供全部的源码

    咏南中间件+咏南开发框架支持最新的delphi 10.1(berlin),老用户提供免费升级. 购买提供:中间件源码 附带福利(赠送): CS开发框架源码BS开发框架源码移动APP源码中间件集群源码二 ...

随机推荐

  1. Faster-RCNN-TensorFlow-Python3.5 在Ubuntu16.04下的配置方法

    目录 Faster-RCNN-TensorFlow-Python3.5 在Ubuntu16.04下的配置方法 安装过程 1. 深度学习环境Tensorflow的安装 2. 安装python包 3.   ...

  2. LA 4329 乒乓比赛

    https://vjudge.net/problem/UVALive-4329 题意: 一条大街上住着n个兵乓球爱好者,经常组织比赛切磋技术.每个人都有一个不同的技能值ai.每场比赛需要3个人:两名选 ...

  3. Jquery 移除某一个div下面的所有img图片

    function one(){ $('#dimg img').remove(); }

  4. Ubuntu 14.04设置开机启动脚本的方法

    rc.local脚本 rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/etc/路径下,需要root权限才能修改. 该脚本具体格式如下: #! ...

  5. python json格式转xml格式

    import xmltodict #json转xml函数 def jsontoxml(jsonstr): #xmltodict库的unparse()json转xml xmlstr = xmltodic ...

  6. Qt5_程序发布

    ZC: deploy ==> 部署 1.文件夹platforms 该文件夹 来自 Qt安装目录:F:\ZC_software_installDir\Qt5.3.2_vs2010\5.3\msvc ...

  7. list_01

    双向链表 不支持随机存取([?] / at(?)) A.头尾 添加/移除 A.1.list::push_back(elemValue); A.2.list::pop_back(); A.3.list: ...

  8. Thunder团队第一周贡献分分配结果

    小组名称:Thunder 项目名称:爱阅app 组长:王航 成员:李传康.代秋彤.邹双黛.苗威.宋雨.胡佑蓉.杨梓瑞 第一周贡献分分配结果 此次分配与原计划的分配方案基本一致.

  9. 安装gcc4.8.5

    安装gcc4.8.51. g++ --version, 4.4.7不支持c++112. 升级gcc-c++, 下载gcc    https://gcc.gnu.org/ 官网,镜像下载地址https: ...

  10. CodeSmith无法获取Oracle表注释

    如题:安装CodeSmith5.2版本,SQLServer没有任何问题,而Oracle就只能获取列的注释而不能获取表的注释,经过多方面查找资料后找到了一个最重要的解决方案,Sql语句,如下:selec ...