java序列化問題

與外部系統對接時,遇到一個問題記錄一下。

對接系統使用的都是國際標準的RSA加密方式,實現語言是java。我們這邊開發系統的時候使用python。在RSA解密的時候解析不出正確的源文。

懷疑原因:由於java默認提供的序列化機制——實現java.io.Serializable接口並生成序列化ID,這樣子就可以通過java.io.ObjectInput和java.io.ObjectOutput實現序列化和反序列化。java序列化技術是java語言內部的私有協議,其他語言並不支持。所以java序列化後的字節數組,其他語言沒有辦法進行反序列化,雙方無法互通

解決辦法:

  1. 驗籤的服務用JAVA編寫,後續的業務服務用python編寫。
  2. 雙方同時改動,用通用的序列化框架做序列化,如xml、json、Hessian等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章