用Delphi获取其它系统的数据时,由于一些敏感信息不能以明文的形式进行存储,所以在获取到数据后,数据一般都是密文!
如何解密主要按照服务器端的加密顺序逆序进行解密!
一般情况下,服务器端对敏感信息都要先进行加密(使用某种加密算法如:BlowFish,AES等),而后对其进行Base64编码!
如果要想解密,第一个步骤就是要在Delphi端我们就要先对其进行Base64解码。
在Delphi中如何进行Base64解码呢?
方法1:
uses
EncdDecd;
DecodeString();
方法2:
使用控件 IdDecoderMIME1.DecodeString();
例1:
在接收邮件后会得到如下字符串:
=?UTF-8?B?QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg=?=
这个字符串的格式是这样的:=?汉字编码?内容编码?内容?=
当汉字编码为UTF-8,内容编码为Base64,字符串的格式就是:=?UTF-8?B?内容?=
解码时,就是对内容先进行Base64解码,然后再进行汉字编码转换(UTF-8转程序所使用的汉字编码)。
UTF8Decode(DecodeString('QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg='))