WindowsPhone7與PC平臺使用TripleDES加解密

之前由於項目要求,需要在Windows Phone端加密數據發到PC平臺的服務端,然後在服務端解密,加密算法選用TripleDES。

由於Windows Phone 7裏自帶的加解密庫移除了對於TripleDES的支持,於是上網搜索解決方案,網上有幾個國外開發者自己使用C#編寫的TripleDES實現,試用了一下,這裏的代碼比較合適:https://gist.github.com/amrishodiq/1622737

經過修改我將加密後的數據轉換成16進制字符串表示,並且在明文長度不足8的整數倍時在末尾添加空格來加密,在解密時去掉末尾的空格,當然也可以改爲其他交互中不會出現的數據,TripleDES加解密使用24字節的Key。

PC平臺使用的加解密代碼從libgcrypt中裁剪,支持Windows/Linux,經測試編譯到ARM Linux下也沒有問題,作爲擴展函數移植到PHP中也可以,不過我修改的代碼部分難免會有Bug^_^

在使用時要確保Windows Phone和PC平臺代碼中使用的key是一致的。

PC平臺的代碼可以從這裏下載:http://download.csdn.net/detail/chenxupro/6491431

Windows Phone平臺的代碼從這裏下載:http://download.csdn.net/detail/chenxupro/6491659

Windows Phone上加解密效果如下:

PC平臺上加解密效果如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章