导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2019/1/18 9:14:22
标题:
AES问题加密,JAVA和DELPHI不一样
浏览:1610
加入我的收藏
楼主:
我用网上的AES加密方法对字符串加密,但是JAVA的加密方法和DELPHI的不一样,JAVA下面认为加密错误,各位大神,这个问题怎么解?
----------------------------------------------
-
作者:
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/
作者:
2019/1/18 9:50:21
3楼:
有没有代码?
----------------------------------------------
-
作者:
2019/1/18 9:55:18
4楼:
你给出 密码 加密结果 我给你原文如何。 加密结果是 Base64 或 Hex 两种, 有没有代码?或者联系我QQ:18499327
----------------------------------------------
-
作者:
2019/1/18 10:03:51
5楼:
万一我解不了密,给你代码也没用。
----------------------------------------------
(C)(P)Flying Wang
作者:
2019/1/18 11:16:01
6楼:
key aebd39ee98ea4a23913267d39af4ef09 结果 0e8CJhRubEnc+0s3pVYWwt4KgRZucJFnvQJr3bpmME5e2t/gTDeeJYr6fUkeTxx/MMm89yLHa6ZRI4U+ny5h2b6k/HbyhXVSGnPrT1BdlkWI0pgNFouOhug8cTlOULTG
----------------------------------------------
-
作者:
2019/1/18 11:56:25
7楼:
iv 呢? cbc ecb? 位数呢?
----------------------------------------------
(C)(P)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
作者:
2019/1/18 12:21:35
9楼:
结果是对的,能不能提供加密代码?
----------------------------------------------
-
作者:
2019/1/18 12:26:59
10楼:
我用QAES很正常,与C++、PHP等都可以互通,我想JAVA也可以。AES除了要知道是多少位加密外,还要知道你的加密方式是CBC还是ECB,同时初始化的向量是什么,我一般是用加密KEY的MD5值按HEX方式作为向量值。
----------------------------------------------
-
作者:
2019/1/18 12:31:21
11楼:
cnvcl 这几个字 看不见吗? QDAC 也可以。
----------------------------------------------
(C)(P)Flying Wang
作者:
2019/1/18 12:39:02
12楼:
只是需要 Base64 和 Hex 的转换而已 这个不知道怎么做,不好意思,麻烦你了
----------------------------------------------
-
作者:
2019/1/18 13:20:31
13楼:
准备好500万人民币再来。
----------------------------------------------
(C)(P)Flying Wang
作者:
2019/1/18 13:57:25
14楼:
有话好好说,不是不懂才来请教的吗?麻烦了
----------------------------------------------
-
作者:
2019/1/18 17:41:25
15楼:
to cnpack ToStr 容易丢失内容 建议改成 ToBytes
----------------------------------------------
(C)(P)Flying Wang
作者:
2019/1/18 22:42:15
16楼:
cnvcl内的源码如果未特殊标注,都是从D5兼容到D10.3的,低版本Delphi中没有TBytes声明,故此用的AnsiString。 使用AnsiString本身不会丢内容,但如果将其转成PAnsiChar,就会出现#0后被截断的问题。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2019/1/21 13:05:54
17楼:
Delphi落到现在的地步,就是有象wang_80919这样的人存在,一个问题,偏要矫情,我去JAVA社区,很多人热情的答复,终于用delphi+jsp解决了问题,只要有wang_80919这样的人存在,Delphi不会好了! 我爱Delphi,但是我痛恨那些自以为是的人!
----------------------------------------------
-
作者:
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
作者:
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);
----------------------------------------------
-
作者:
2019/1/25 11:27:45
20楼:
谢谢 wangdonghai
----------------------------------------------
-