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.

最新文章

  1. R语言读取本地文件注意事项
  2. LeetCode Count Complete Tree Nodes
  3. 已知json类型根据类型封装集合
  4. js获取UserControl (<uc1>)控件ID
  5. Linux查看系统信息
  6. Log4Net_LayOut
  7. Node.js之错误处理与断言处理
  8. 工厂方法模式--java代码实现
  9. Java开发笔记(九)赋值运算符及其演化
  10. warmpserver 配置别人能访问自己的项目地址
  11. python全栈开发day99-DRF序列化组件
  12. java解析Excel(xls、xlsx两种格式)
  13. Unity3D Shader 空气扭动效果
  14. 注解之@PathVariable
  15. java字符串解析
  16. Linux中显示一个文件最后几行的命令
  17. web登录密码加密
  18. JS异步编程 (1)
  19. JsonArray和JsonObject的使用
  20. java 十六周总结

热门文章

  1. 如何加速tomcat启动速度
  2. Springboot统一参数验证方式
  3. BZOJ 2669 【CQOI2012】 局部极小值
  4. Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
  5. [ios]ScrollView小结
  6. android适配各种分辨率的问题
  7. cocos2dx 在windows下开启console
  8. SQLServer创建用户、数据库、表、约束、存储过程、视图
  9. Python版本微信跳一跳,软件配置
  10. ArcGIS API for Silverlight 的重要内容******重要