• ÊÖ»ú°æ

    ɨÂëÌåÑéÊÖ»ú°æ

  • ΢ÐŹ«ÖÚºÅ

    ɨÂë¹Ø×¢¹«ÖÚºÅ

¹úÄÚÊ×¼ÒЭÒ鿪·¢

ÈíоÒôÊÓ½âÂë±£»¤Æ½Ì¨

ÔÚÏß
¿Í·þ

·¢²¼
ÐèÇó

ÔÚÏß
ÁÄÌì

ÌìÃË
APP

ÌìÃËAPPÏÂÔØ

¹Ø×¢
΢ÐÅ

΢ÐÅɨһɨ·ÃÎÊ
¶¥²¿

ΪʲôECIES˽Կ¼ÓÃÜ ¹«Ô¿´¦Àí¾Í³ö´í,µ«Êǹ«Ô¿¼ÓÃÜ,˽Կ´¦Àí¾ÍÕý³£

//¹«Ô¿¼ÓÃÜ Ë½Ô¿´¦Àí//³õʼ»¯ÃØÔ¿try {    KeyPairGenerator kp=KeyPairGenerator.getInstance("EC","BC");    kp.initialize(256,new SecureRandom());    KeyPair keyPair=kp.generateKeyPair();    ECPublicKey ecPubKey=(ECPublicKey)keyPair.getPublic();    ECPrivateKey ecPriKey=(ECPrivateKey)keyPair.getPrivate();    System.out.println("¹«Ô¿:"+ Base64.encodeBase64String(ecPubKey.getEncoded()));    System.out.println("˽Կ:"+ Base64.encodeBase64String(ecPriKey.getEncoded()));    //˽Կ¼ÓÃÜ,¹«Ô¿´¦Àí:¼ÓÃÜ    PKCS8EncodedKeySpec peks=new PKCS8EncodedKeySpec(ecPriKey.getEncoded());    KeyFactory keyFactory=KeyFactory.getInstance("EC");    PrivateKey priKey=keyFactory.generatePrivate(peks);    Cipher cipher=Cipher.getInstance("ECIES","BC");    cipher.init(Cipher.ENCRYPT_MODE,priKey);    byte[] result=cipher.doFinal("hello".getBytes());    System.out.println("˽Կ¼ÓÃÜ,¹«Ô¿´¦Àí:¼ÓÃÜ-----"+Base64.encodeBase64String(result));    //˽Կ¼ÓÃÜ,¹«Ô¿´¦Àí:´¦Àí    X509EncodedKeySpec x509=new X509EncodedKeySpec(ecPubKey.getEncoded());    keyFactory=KeyFactory.getInstance("EC");    PublicKey pubKey=keyFactory.generatePublic(x509);    cipher=Cipher.getInstance("ECIES","BC");    cipher.init(Cipher.DECRYPT_MODE,pubKey);    result=cipher.doFinal(result);    System.out.println("˽Կ¼ÓÃÜ,¹«Ô¿´¦Àí:´¦Àí"+new String(result));}catch (NoSuchAlgorithmException e) {    e.printStackTrace();} catch (NoSuchProviderException e) {    e.printStackTrace();} catch (InvalidKeySpecException e) {    e.printStackTrace();} catch (NoSuchPaddingException e) {    e.printStackTrace();} catch (InvalidKeyException e) {    e.printStackTrace();} catch (BadPaddingException e) {    e.printStackTrace();} catch (IllegalBlockSizeException e) {    e.printStackTrace();}Òì³£ÐÅÏ¢  java.security.InvalidKeyException: must be passed recipient's public EC key for encryption        at org.bouncycastle.jcajce.provider.asymmetric.ec.IESCipher.engineInit(Unknown Source)        at org.bouncycastle.jcajce.provider.asymmetric.ec.IESCipher.engineInit(Unknown Source)        at java.base/javax.crypto.Cipher.init(Cipher.java:1283)        at java.base/javax.crypto.Cipher.init(Cipher.java:1223)

ÃâÔðÉùÃ÷£º±¾ÄÚÈݽö´ú±í»Ø´ð»áÔ±¼û½â²»´ú±íÌìÃ˹۵㣬Çë½÷É÷¶Ô´ý¡£

°æȨÉùÃ÷£º×÷Õß±£ÁôȨÀû£¬²»´ú±íÌìÃËÁ¢³¡¡£

ʹÓõÀ¾ß ¾Ù±¨

·¢ÐÂÌû

·¢²¼ÈÎÎñÐèÇóÒÑÓÐ1031166λÓû§ÕýÔÚʹÓÃÌìÃËÍø·þÎñ

·¢²¼·ÖÀࣺ *
ÈÎÎñÔ¤Ë㣺 *
Ôª
ÐèÇóÄÚÈÝ£º *
ÊÖ»úºÅÂ룺 *
ÈÎÎñÉ̼ұ¨¼ÛΪԪ
  • Ô¤Ëã¼Û :Ôª
  • ³É½»¼Û :Ôª
  • Í깤ÆÚ :Ìì
  • Öʱ£ÆÚ :Ìì

* ×îÖÕÈÎÎñÏîÄ¿ÒÔ·þÎñÉ̱¨¼Û¡¢Ë«·½Ð­ÉÌΪ׼£¡