标题
unicode 版本 delphi (如XE2)下的 base64,des,md5 算法
clq
浏览(439) +
2017-10-15 11:16:15 发表
编辑
关键字: clq
[2024-10-06 23:49:03 最后更新]
unicode 版本 delphi (如XE2)下的 base64,des,md5 算法
原文载于我多年前的 blog 地址 http://www.cnblogs.com/-clq/archive/2012/06/28/2567480.html
当时是怕代码丢失,现在有 github 了,所以传到 github 上去.
--------------------------------------------------
https://github.com/clqsrc/delphi_lost
base64.pas
des.pas
md5.pas
clq
2017-10-15 12:11:43 发表
编辑
这三个文件经我自己修改过可适应 delphi7 后面的 unicode 版本(例如 delphi xe2 也能用).
另外有一点是要非常注意的: des 的结果相当于 java 的 Cipher.getInstance("DES/ECB/NOPADDING");
而默认的 java des 是 Cipher.getInstance("DES/ECB/PKCS5Padding");
其实主要是不满足 8 字节时用什么内容来补充,这里用的是 "0" 即 C 语言里的 '\0',这个操作相当的易错,而且 PKCS5Padding 的情况下在够 8 字节的情况下仍然后再补充 8 个字节.
实在荒唐,所以 delphi 这份代码的这种处理反而是恰当的.
在 C# 中也有和 java 一样的选项, objectc 未知,不过同事实现过.
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.