我目前正在嘗試使用ECDH和BouncyCastle爲Android開發加密應用程序。到目前爲止,我已經實現的是根據下面的代碼在應用程序上生成公鑰和私鑰。通過短信發送公鑰
我的下一個任務是通過SMS發送公鑰。我想知道哪些方法可以用來完成工作。目前我試圖通過將生成的鍵分配給一個字符串,然後我發送字符串,但我仍然無法讓它正常工作。
任何援助將不勝感激
感謝和節日快樂!
try
{
KeyPairGenerator g = KeyPairGenerator.getInstance("ECDH", "SC");
//Define the Elliptic Curve Field, Points A and B
EllipticCurve curve = new EllipticCurve(new ECFieldFp(Presets.CurveQ),Presets.PointA,Presets.PointB);
//Define the points on the Elliptic Curve
ECParameterSpec ecSpec = new ECParameterSpec(
curve,
ECPointUtil.decodePoint(curve, Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G
new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307"), // n
1); // h
//Generate the random point on the Elliptic Curve
g.initialize(ecSpec, new SecureRandom());
//Generate Private Key for User A
KeyPair aKeyPair = g.generateKeyPair();
aKeyAgree = KeyAgreement.getInstance("ECDH", "SC");
aKeyAgree.init(aKeyPair.getPrivate());
//Save Personal Keys
Presets.myPrivateKey = aKeyPair.getPrivate().getEncoded().toString();
Presets.myPublicKey = aKeyPair.getPublic().getEncoded().toString();
什麼不是特別工作?你有錯誤嗎?你看過http://stackoverflow.com/a/4967508/984393嗎? – Craigy