DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: rlatershee
今日帖子: 49
在线用户: 20
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 9:14:22
标题:
AES问题加密,JAVA和DELPHI不一样 浏览:600
加入我的收藏
楼主: 我用网上的AES加密方法对字符串加密,但是JAVA的加密方法和DELPHI的不一样,JAVA下面认为加密错误,各位大神,这个问题怎么解?
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 9:26:19
1楼: 你给出
密码
加密结果
我给你原文如何。
加密结果是 Base64 或 Hex 两种,
----------------------------------------------
(C)(P)Flying Wang
作者:
男 hs_kill (lzl_17948876) ▲▲▲▲▲ -
普通会员
2019/1/18 9:38:23
2楼: 填充方式/加密模式  AES就这2个选项, 设置一致了就OK
----------------------------------------------
http://www.cnblogs.com/lzl_17948876/
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 9:50:21
3楼: 有没有代码?
----------------------------------------------
-
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 9:55:18
4楼: 你给出
密码
加密结果
我给你原文如何。
加密结果是 Base64 或 Hex 两种,

有没有代码?或者联系我QQ:18499327
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 10:03:51
5楼: 万一我解不了密,给你代码也没用。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 11:16:01
6楼: key aebd39ee98ea4a23913267d39af4ef09
结果 0e8CJhRubEnc+0s3pVYWwt4KgRZucJFnvQJr3bpmME5e2t/gTDeeJYr6fUkeTxx/MMm89yLHa6ZRI4U+ny5h2b6k/HbyhXVSGnPrT1BdlkWI0pgNFouOhug8cTlOULTG
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 11:56:25
7楼: iv 呢?
cbc ecb?
位数呢?
----------------------------------------------
(C)(P)Flying Wang
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 11:59:30
8楼: d14dcc33-9cc0-4ac6-80d9-758dcef918ba232bc351-722f-4e50-aa33-c3c70b2a7b2b2018-01-16 15:29:58
看上去比较像
ECB 256bit 无 iv cnvcl 内的 就可以,只是需要 Base64 和 Hex 的转换而已。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 12:21:35
9楼: 结果是对的,能不能提供加密代码?
----------------------------------------------
-
作者:
男 capelin (多春鱼) ★☆☆☆☆ -
盒子活跃会员
2019/1/18 12:26:59
10楼: 我用QAES很正常,与C++、PHP等都可以互通,我想JAVA也可以。AES除了要知道是多少位加密外,还要知道你的加密方式是CBC还是ECB,同时初始化的向量是什么,我一般是用加密KEY的MD5值按HEX方式作为向量值。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 12:31:21
11楼: cnvcl 这几个字 看不见吗?
QDAC 也可以。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 12:39:02
12楼: 只是需要 Base64 和 Hex 的转换而已 这个不知道怎么做,不好意思,麻烦你了
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 13:20:31
13楼: 准备好500万人民币再来。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/18 13:57:25
14楼: 有话好好说,不是不懂才来请教的吗?麻烦了
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/18 17:41:25
15楼: to cnpack
ToStr 容易丢失内容
建议改成 ToBytes
----------------------------------------------
(C)(P)Flying Wang
作者:
男 cnpack (CnPack) ▲▲▲▲▲ -
普通会员
2019/1/18 22:42:15
16楼: cnvcl内的源码如果未特殊标注,都是从D5兼容到D10.3的,低版本Delphi中没有TBytes声明,故此用的AnsiString。
使用AnsiString本身不会丢内容,但如果将其转成PAnsiChar,就会出现#0后被截断的问题。
----------------------------------------------
欢迎使用CnPack IDE Wizards
http://www.cnpack.org/
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/21 13:05:54
17楼: Delphi落到现在的地步,就是有象wang_80919这样的人存在,一个问题,偏要矫情,我去JAVA社区,很多人热情的答复,终于用delphi+jsp解决了问题,只要有wang_80919这样的人存在,Delphi不会好了!
我爱Delphi,但是我痛恨那些自以为是的人!
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲△ -
普通会员
2019/1/21 13:08:01
18楼: 你高兴就好。
反正 DLEPHI 死不死 好不好 ,关我屁事。

function StrToHex(const Value: TBytes): string; //aka BytesToHex
function HexToStr(const Value: string): TBytes; //aka HexToBytes

function EncodeBase64Bytes(const InputBytes: TBytes): string;
function DecodeBase64Bytes(const InputString: string): Tbytes;

function HexToBase64(const InHex: string): string;
function Base64ToHex(const InBase64: string): string;

function Base64ToHex(const InBase64: string): string;
begin
  Result := StrToHex(DecodeBase64Bytes(InBase64));
end;

function HexToBase64(const InHex: string): string;
begin
  Result := EncodeBase64Bytes(HexToStr(InHex));
end;
----------------------------------------------
(C)(P)Flying Wang
作者:
男 wangdonghai (wdh) ★☆☆☆☆ -
盒子活跃会员
2019/1/23 9:31:29
19楼: //HexToStr,StrToHex在CnAES里面有实现,需要声明一下
uses CnAES,CnBase64;

function EnCrypt_EncECB256(Value: AnsiString; Key : AnsiString): string;
var
  SS:TStringStream;
begin
  SS:=TStringStream.Create;
  try
    Base64Encode(HexToStr(AESEncryptEcbStrToHex(Value,Key,kbt256)),result);
  finally
    SS.Free;
  end;
end;

function EnCrypt_DecECB256(Value: AnsiString; Key : AnsiString): string;
var
  SS:TStringStream;
begin
  SS:=TStringStream.Create;
  try
    Base64Decode(Value,SS);
    result:=AESDecryptEcbStrFromHex(StrToHex(PAnsiChar(SS.Memory),SS.Size),Key,kbt256);
  finally
    SS.Free;
  end;
end;

//调用加密
//edit1.text:='d14dcc33-9cc0-4ac6-80d9-758dcef918ba232bc351-722f-4e50-aa33-c3c70b2a7b2b2018-01-16 15:29:58'
//edit2.text:='aebd39ee98ea4a23913267d39af4ef09';
//结果为:0e8CJhRubEnc+0s3pVYWwt4KgRZucJFnvQJr3bpmME5e2t/gTDeeJYr6fUkeTxx/MMm89yLHa6ZRI4U+ny5h2b6k/HbyhXVSGnPrT1BdlkXHnUzEGTCfJ8O+VzWBPDxm
edRs.Text:=EnCrypt_EncECB256(edit1.Text,edit2.Text);

//调用解密
//edit1.text:='0e8CJhRubEnc+0s3pVYWwt4KgRZucJFnvQJr3bpmME5e2t/gTDeeJYr6fUkeTxx/MMm89yLHa6ZRI4U+ny5h2b6k/HbyhXVSGnPrT1BdlkXHnUzEGTCfJ8O+VzWBPDxm';
//edit2.text:='aebd39ee98ea4a23913267d39af4ef09'
//结果为:d14dcc33-9cc0-4ac6-80d9-758dcef918ba232bc351-722f-4e50-aa33-c3c70b2a7b2b2018-01-16 15:29:58
edRs.Text:=EnCrypt_DecECB256(edit1.Text,edit2.Text);
----------------------------------------------
-
作者:
男 zhangzhongqing (大肥肉) ★☆☆☆☆ -
注册会员
2019/1/25 11:27:45
20楼: 谢谢 wangdonghai
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行23.4375毫秒 RSS