3
用戶在Android N中運行我的應用程序,他得到了崩潰。我知道Google在Android N中棄用了加密提供程序,但遷移舊加密數據的最佳方式是什麼?在Android N棄用安全「加密」提供程序N
用戶在Android N中運行我的應用程序,他得到了崩潰。我知道Google在Android N中棄用了加密提供程序,但遷移舊加密數據的最佳方式是什麼?在Android N棄用安全「加密」提供程序N
您可以使用此提供更換 「加密」 爲SecureRandom的,它的工作對我來說罰款:
使用,
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", new CryptoProvider());
代替,
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG","Crypto");
和你CryptoProvider類像如下所示,
import java.security.Provider;
/**
* Implementation of Provider for SecureRandom. The implementation supports the
* "SHA1PRNG" algorithm described in JavaTM Cryptography Architecture, API
* Specification & Reference
*/
public final class CryptoProvider extends Provider {
/**
* Creates a Provider and puts parameters
*/
public CryptoProvider() {
super("Crypto", 1.0, "HARMONY (SHA1 digest; SecureRandom; SHA1withDSA signature)");
put("SecureRandom.SHA1PRNG",
"org.apache.harmony.security.provider.crypto.SHA1PRNG_SecureRandomImpl");
put("SecureRandom.SHA1PRNG ImplementedIn", "Software");
}
}
謝謝,這就像一個魅力。你能簡要解釋一下嗎? – Neo
它的工作!至少在實際採用推薦方式之前,這可以是一個快速修復。 – Mangesh