DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: kevin20240329
今日帖子: 43
在线用户: 28
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2019/12/1 12:28:37
标题:
请教是否有delphi7适用的HMAC-SHA256算法 浏览:2508
加入我的收藏
楼主: 请教是否有delphi7适用的HMAC-SHA256算法?有没有现成的单元或者控件能实现?谢谢
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2019/12/1 12:32:07
1楼: cnvcl 如果没有,就去找找 indy ,如果没有就去找找 jcl jvcl
----------------------------------------------
(C)(P)Flying Wang
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/1 12:40:26
2楼: 如果都没有(前提是你得会百度) 
你只好学c/c++ 搞个dll 过来用了。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 744840146 (744840146) ▲▲▲▲▲ -
普通会员
2019/12/1 12:56:39
3楼: mORMot 中的SynCrypto D5到D10.3.3
----------------------------------------------
-
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2019/12/1 12:58:34
3楼: 这种dll找不到啊,大侠能不能提供一个,供delphi调用
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2019/12/1 13:04:09
4楼: mORMot这是个控件包?哪里有的下载? 744840146 (744840146)
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 delphiilove (乌羽玉) ★☆☆☆☆ -
普通会员
2019/12/1 14:04:12
5楼: TMS Cryptography Pack
----------------------------------------------
-
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2019/12/1 14:19:59
6楼: 好像没有fordelphi7的,都是支持10.2开始的delphiilove (乌羽玉)
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/1 15:02:51
7楼: 大约看了下
https://github.com/Xor-el/CryptoLib4Pascal/search?utf8=%E2%9C%93&q=hmac&type=
好像有?自己折腾去吧。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/1 15:04:49
8楼: https://github.com/sitegui/pbkdf-sha256-asm
js里面放asm 也是牛逼啊
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2019/12/1 15:20:01
9楼: 真的没有哇keymark (keymark)
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 earthsbest (全能中间件) ▲▲▲▲△ -
普通会员
2019/12/1 15:50:24
10楼: 还是高版本好,都自带了。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/1 15:58:44
11楼: http://search.2ccc.com/Default.asp?site=SELF&keyword_and=hmac&keyword_or=&pagerow_cnt=20&Submit=%C8%AB%CE%C4%BC%EC%CB%F7
按此在新窗口浏览图片
好了不调侃你了, 
http://www.zystudios.cn/blog/post/65.Shtml
我大盒子搜索都用不好。。估计你百度也不会。。。

吐槽下自带得THashBobJenkins pas版 。。真的是慢一节。
看了下Indy 10.1.1 没
最低Indy 10.5.7 - XE RTM 版本才带。
ssl 不熟。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2019/12/1 16:08:12
12楼: 我也是傻,看的不仔细,其实wang_80919 (Flying Wang)提示的方向很对,cnvcl里就有,我只是没发现。。代码如下:
Uses CnSHA2;
procedure TForm1.btn2Click(Sender: TObject);
var
  Output:TSHA256Digest;
  S, Key: AnsiString;
begin
//调用
  Key := AnsiString('123456');
  S := AnsiString('abcd');
  SHA256Hmac(@Key[1], Length(Key), @S[1], Length(S), Output);
  RTxt.Lines.Add(SHA256Print(Output));
end;
结果为:A65014C0DFA57751A749866E844B6C42266B9B7D54D5C59F7F7067D973F77817
验证:与在线加密http://www.jsons.cn/allencrypt/得出的结果一致
最后谢谢上述各位的帮助。
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/1 16:44:02
13楼: 算法 没用特殊得 基本可以复制粘贴小改就用。。。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 sun2grit (Asun) ★☆☆☆☆ -
盒子活跃会员
2019/12/1 20:46:05
14楼: XE10不都集成了么
----------------------------------------------
家具安装 万师傅家具安装平台 安装维修师傅黄页 一键式测量仪
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/1 21:08:11
15楼: 楼上说 社区真香版?  lz用7呢。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 janker (janker) ★☆☆☆☆ -
盒子活跃会员
2019/12/2 12:22:30
16楼: PassByYou888大神的: https://github.com/PassByYou888/CoreCipher;
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2019/12/2 23:23:08
17楼: LockBox 这套控件可能有这个。
----------------------------------------------
-
作者:
男 cnpack (CnPack) ★☆☆☆☆ -
普通会员
2019/12/3 11:08:26
18楼: 刚想回答cnvcl中的CnSHA2.pas中有,发现楼主已经找到了。

如果计算中有啥问题可以反馈给我们。缺什么算法没有也可以告知,我们可以努力补上。
----------------------------------------------
欢迎使用CnPack IDE Wizards
http://www.cnpack.org/
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2019/12/3 13:58:53
19楼: 楼上高手,请问 cnvcl 的 加密 hash 有没有支持 TBytes ?
上次下载的,是没有支持的。
只是支持 AnsiString 和 WideString 。
我个人推荐,去掉 这两个,统一为 TBytes(对旧版本就不容易兼容,可以考虑保留 AnsiString ,同时 加入 TBytes 的支持,WideString 最好默认不要支持)。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 cnpack (CnPack) ★☆☆☆☆ -
普通会员
2019/12/3 16:54:09
20楼: 没支持TBytes。当时收集、编写这些加解密单元的目的是想覆盖D5到最新版Delphi的所有范围,所以没有支持较高版本才有的TBytes。

要支持的话技术上也不难,就是工作量太大太大了,好几十个算法……
----------------------------------------------
欢迎使用CnPack IDE Wizards
http://www.cnpack.org/
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2019/12/4 9:09:12
21楼: 我喜欢Tbytes,判断遇到低版本Delphi就自己定义一个
Typtes=array of byte;
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/12/5 13:31:25
22楼: https://en.delphipraxis.net/topic/1353-hmac_sha256/
这个帖子好像用ics了 那么 可以用openssl的。?未测试
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 ksrsoft (cb168) ★☆☆☆☆ -
普通会员
2024/1/21 13:05:07
23楼: cnvcl里的计算结果完全一致。HMAC-SHA256
----------------------------------------------
-
作者:
男 cnpack (CnPack) ★☆☆☆☆ -
普通会员
2024/1/21 18:04:42
24楼: 补充几年前20楼的说法:现在都支持TBytes了!
----------------------------------------------
欢迎使用CnPack IDE Wizards
http://www.cnpack.org/
作者:
男 ksrsoft (cb168) ★☆☆☆☆ -
普通会员
2024/1/30 11:32:04
25楼: TBytes的调用方法 麻烦能举个简单的例子,我想用tbytes,不会写,
----------------------------------------------
-
作者:
男 cnpack (CnPack) ★☆☆☆☆ -
普通会员
2024/1/30 11:50:41
26楼: 比如CnSM4.pas中封装的SM4CBC加密方法:

function SM4EncryptCbcBytes(Key, Iv: TBytes; const Input: TBytes): TBytes;

  Key      16 字节密码,太长则截断,不足则补 0
  Iv       16 字节初始化向量,太长则超出部分忽略,不足则在 Iv 后补 0
  Input    原始待加密内容
  返回值   加密内容

参数均是字节数组。

例子见cnvcl\Example\VCL\Crypto的SM4页,里头有个Use TBytes复选框,看勾上后调用的代码就行。
----------------------------------------------
欢迎使用CnPack IDE Wizards
http://www.cnpack.org/
作者:
男 ksrsoft (cb168) ★☆☆☆☆ -
普通会员
2024/1/31 14:23:29
27楼: 找到了 var retBts:= SHA256Bytes( tencoding.UTF8.GetBytes(strin) );
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS