用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='))
