Artikel ini menjelaskan metode menerapkan algoritma RSA di Java. Bagikan untuk referensi Anda, sebagai berikut:
Satu pengantar
Satu -satunya yang diterima secara luas dan diimplementasikan untuk enkripsi data dan enkripsi kunci publik tanda tangan digital, enkripsi kunci pribadi dekripsi pribadi, dekripsi kunci publik
Dua Deskripsi Parameter RSA
Tiga realisasi
Paket com.imooc.security.rsa; impor java.security.keyfactory; impor java.security.keypair; impor java.security.keypairgenerator; impor java.security.privatekey; import java.security.publickey; impor java.security.security.security. java.security.interfaces.rsapublickey; impor java.security.spec.pkcs8encodedkeyspec; impor java.security.spec.x509encodedkeyspec; storasi public64; src = "CAKIN24 Security RSA"; public static void main (string [] args) {jdkrsa (); } public static void jdkrsa () {coba {// 1. Inisialisasi kunci keypairgenerator keypairgenerator = keypairgenerator.getInstance ("rsa"); keypairgenerator.initialize (512); Keypair keypair = keypairgenerator.generatePeyPair (); Rsapublickey rsapublickey = (rsapublickey) keypair.getPublic (); RsaprivateKey rsaprivateKey = (rsaprivateKey) keypair.getprivate (); System.out.println ("Kunci Publik:" + Base64.encodeBase64String (rsapublickey.getEncoded ())); System.out.println ("Kunci Pribadi:" + Base64.encodeBase64String (rsaprivateKey.getEncoded ())); // 2. Enkripsi Kunci Pribadi, Dekripsi Kunci Publik-Enripsi PKCS8EncodedKeyspec PKCS8EncodedKeySpec = Baru PKCS8EncodedKeyspec (rsaprivateKey.getEncoded ()); KeyFactory keyFactory = keyFactory.getInstance ("RSA"); PrivateKey privateKey = keyfactory.generatePrivate (pkcs8encodedkeyspec); Cipher cipher = cipher.getInstance ("rsa"); cipher.init (cipher.encrypt_mode, privateKey); byte [] hasil = cipher.dofinal (src.getbytes ()); System.out.println ("Enkripsi kunci pribadi, enkripsi dekripsi kunci publik:" + base64.encodeBase64String (hasil))); // 3. Enkripsi Kunci Pribadi, Dekripsi Kunci Publik-Dekripsi-Dekripsi X509Encodedkeyspec X509EncodedKeyspec = Baru X509EncodedKeyspec (rsapublickey.getEncoded ()); keyFactory = keyfactory.getInstance ("RSA"); PublicKey publicKey = keyfactory.generatePublic (x509Encodedkeyspec); cipher = cipher.getInstance ("rsa"); cipher.init (cipher.decrypt_mode, publickey); hasil = cipher.dofinal (hasil); System.out.println ("Enkripsi Kunci Pribadi, Dekripsi Dekripsi Kunci Publik:" + String Baru (Hasil)); // 4. Enkripsi kunci publik, enkripsi dekripsi kunci pribadi X509EncodedKeySpec = X509EncodedKeySpec baru (rsapublickey.getencoded ()); keyFactory = keyfactory.getInstance ("RSA"); publicKey = keyfactory.generatePublic (x509Encodedkeyspec); cipher = cipher.getInstance ("rsa"); cipher.init (cipher.encrypt_mode, publickey); hasil = cipher.dofinal (src.getbytes ()); System.out.println ("Enkripsi kunci publik, enkripsi dekripsi kunci pribadi:" + base64.encodeBase64String (hasil)); // 5. Enkripsi kunci publik, dekripsi kunci-dekripsi-pkcs8encodedkeyspec = baru pkcs8encodedkeyspec (rsaprivateKey.getEncoded ()); keyFactory = keyfactory.getInstance ("RSA"); privateKey = keyfactory.generatePrivate (pkcs8encodedkeyspec); cipher = cipher.getInstance ("rsa"); cipher.init (cipher.decrypt_mode, privateKey); hasil = cipher.dofinal (hasil); System.out.println ("Enkripsi Kunci Publik, Dekripsi Dekripsi Kunci Pribadi:" + String Baru (Hasil)); } catch (Exception e) {E.PrintStackTrace (); }}}Empat efek realisasi
Kunci publik: mfwwdqyjkozihvcnaqebbqadswawsajbajcbeob97idkkirbmx3moy5e4erwh0uvc2bcnly1rdo0lz8ibr1bl1rjxwkhv7u0aSo/5dblnngbbrt==u0a0a/5dblnngbbrt==uQrschv7u0aso/5dblnngbbrt==u0a0a/5dblngbbrt==u/5dblngbbrt=u/5dblngbrt=
Kunci Pribadi: Miibvaibadanbgkqhkig9w0baqefaascat4wgge6ageaakealwf45v3sh2sssgbhcw5jl7h5hchs68lyfw2vjwsojsvnyjvuxveldaqe/ttqbi7/ KMGWEECZTBG2WMWI8WIDAQABAKADSKPRSL+EW3S2N+CEMIZXFYYB0XHS1D84QAPAFPIXKUNVWL0A4OVRWSNWT4MEJATWVTUFNVTXIZCZDX+Q5DBBAI EA9TZZYMGRU+3MDLAX0ICF+NIQWVLQYVEDKA4KSX55GVUCIQCDOEX6MQGRP78AQJYKWEOGWLISZJU5FN/LFVKZRCGBJWIHAMVBBLZZAYKHY0IKW75KD /lksyouty+20bap+midrqgzaia6r36eerkzQuBtCl8lxypb5f79htxd5dcvnib/zgp0uwigwtxi7ixhjycsnomsjdu1j3du9kqquw/eohxrk/ogguye =
Enkripsi Kunci Pribadi, Dekripsi Kunci Publik - Enkripsi: VJKFSOIVERVKES5RPRHSJK9TDTZOHDELLS7YLUIDCYEE7DKUCM9SRJ8KWADYNHI4M0OLAFJHK6447HP7IA8X7A ==
Enkripsi Kunci Pribadi, Dekripsi Kunci Publik - Dekripsi: CAKIN24 Security RSA
Enkripsi Kunci Publik, Dekripsi Kunci Pribadi - Enkripsi: Gawl73uxHTO+EFKKPMFMDHTK0VH7HB8N+30L1HP8AAMIAGD21H2X/Q/NS+SOGSOXNOVUNZASGZZZZZZCJB4VEA ==
Enkripsi Kunci Publik, Dekripsi Kunci Pribadi - Dekripsi: CAKIN24 Security RSA
Lima skenario aplikasi
PS: Teman yang tertarik dengan enkripsi dan dekripsi juga dapat merujuk pada alat online dari situs ini:
Alat enkripsi/dekripsi RSA online:
http://tools.vevb.com/password/rsa_encode
Teks Enkripsi Online dan Alat Dekripsi (termasuk AES, DES, RC4, dll.):
http://tools.vevb.com/password/txt_encode
Alat Enkripsi Online MD5:
http://tools.vevb.com/password/createMd5password
Alat Enkripsi Algoritma Hash/Hash Online:
http://tools.vevb.com/password/hash_encrypt
Online MD5/Hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 Alat Enkripsi:
http://tools.vevb.com/password/hash_md5_sha
Online SHA1/SHA224/SHA256/SHA384/SHA512 Alat Enkripsi:
http://tools.vevb.com/password/sha_encode
For more information about Java related content, please check out the topics of this site: "Summary of Java Mathematical Operation Skills", "Tutorial on Java Data Structures and Algorithms", "Summary of Java Characters and String Operation Skills", "Summary of Java Operation DOM Node Skills" and "Summary of Java Cache Operation Skills"
Saya harap artikel ini akan membantu pemrograman Java semua orang.