天天看點

iOS,Android,.NET通用AES加密算法

這兩天為移動App開發API,結果實作加密驗證時碰到一大坑。這裡不得不吐槽下又臭又硬的iOS,Windows Server無法解密出正确的結果,Android則可以,後來使用了通用的AES256加密算法才最終搞定。

搞伺服器端小夥伴沒有接觸過iOS,是以也沒料到過這種情形。他使用了AES128 with IV的加密算法,Android端可以順利通過加密驗證。

但是iOS端使用AES128算法後出現問題,雖然可以在本地加密解密,但是無法被伺服器解密成功。

後來經過多方查找,才了解到一個蛋疼的事實,iOS隻支援AES PKCS7Padding算法,在伺服器端修改為響應算法後,順利通過。

Objective-C:

實作代碼:

C#:

Java: