0
首先,我要提到我已經看到Unit testing of encrypt/decrypt和Unit testing encryption and decryption in Java。單元測試使用位於不同代碼庫中的一些鹽進行加密/解密
我想通過驗證其許可證來保護圖書館。該許可證包含諸如最大用戶數和到期時間等信息。
我遇到的問題是:
- 的加密和解密是在兩個不同的代碼庫。解密器與庫一起封裝,但加密器不是,所以它們很難在同一個測試套件中使用!
- 隨機鹽在加密器中使用,所以即使使用相同的輸入,加密器每次都會產生不同的輸出,我再也不能對結果做出斷言。
- 爲了它的目的,解密器(使它更難注入另一個類)是最後一個類,它的所有方法都是私有的,除了一些包可訪問的入口點。
我不想考JCE,但我想測試我的代碼呢:
- 從提取加密的許可證鹽,
- 解密加密許可證,
- 將輸出反序列化爲包含許可證數據的某些數據結構,
我應該創建一個代碼的克隆,並使用一些較軟的訪問約束和測試?然後問題是我沒有測試在客戶端系統上運行的真實代碼。
有沒有更好的解決方案來做到這一點?