|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2018/8/16 9:09:47 |
标题: |
几行简单的SHA256转换一下语言,请大神协助一下,多谢 |
浏览:1155 |
|
加入我的收藏 |
楼主: |
MessageDigest md = MessageDigest.getInstance(ALGORITHM_SHA256); md.reset(); md.update(jason_data .getBytes("gbk")); return toHexString(md.digest());
Delphi里很多编码对utf8的,这个gbk不是很明白,百度资料也比较少 上面几行,Delphi里怎样描述呢?
----------------------------------------------
- |
作者: |
|
2018/8/16 9:13:20 |
1楼: |
gbk就是ansi
----------------------------------------------
--
|
作者: |
|
2018/8/16 9:21:04 |
2楼: |
你到了别人计算机上,ANSI 可能就是 BIG5 了。 人家写明白是 GBK 就安全了。
反正新版本 DELPHI 用 TEncodig 即可指定 Bytes 的编码。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/8/16 9:24:28 |
2楼: |
ALGORITHM_SHA256,这个玩意就是TIdHashSHA256吗? 那意思直接就是:SHA256: TIdHashSHA256; 如果定义jason_data为String的话:
Result :=SHA256.HashStringAsHex(jason_data,IndyTextEncoding_UTF8);
安装的Delphi有点问题,没法定位函数后的参数,HashStringAsHex这个函数,后面那个编码格式,能传入GBK就好了。
貌似这样是不是不靠谱?
----------------------------------------------
-
|
作者: |
|
2018/8/16 9:29:20 |
3楼: |
to wang_80919 :TEncoding.ANSI? 抱歉我比较菜。TEncoding下没有gbk相关的:)
----------------------------------------------
-
|
作者: |
|
2018/8/16 10:59:51 |
4楼: |
ansistring(多少来着) /-自己去查 ANSI 代表的是当前操作系统主体语言 如果用繁体系统 那么就是 繁体ANSI
----------------------------------------------
[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/
|
作者: |
|
2018/8/16 11:01:53 |
5楼: |
楼主不看源码 不看 HELP,活该啥都不会。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/8/16 13:17:05 |
6楼: |
大侠教训得是,我多多努力:)
----------------------------------------------
-
|
|