麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 系統(tǒng) > Android > 正文

Android之RAS加密算法測(cè)試實(shí)例

2020-04-11 12:03:14
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

import java.security.Key;  
import java.security.KeyFactory;  
import java.security.KeyPair;  
import java.security.KeyPairGenerator;  
import java.security.PrivateKey;  
import java.security.PublicKey;  
import java.security.interfaces.RSAPrivateKey;  
import java.security.interfaces.RSAPublicKey;  
import java.security.spec.PKCS8EncodedKeySpec;  
import java.security.spec.X509EncodedKeySpec;  

import javax.crypto.Cipher;  

import sun.misc.BASE64Decoder;  
import sun.misc.BASE64Encoder;  

   
public class RSAHelper {  

       
      public static PublicKey getPublicKey(String key) throws Exception {  
            byte[] keyBytes;  
            keyBytes = (new BASE64Decoder()).decodeBuffer(key);  

            X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);  
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");  
            PublicKey publicKey = keyFactory.generatePublic(keySpec);  
            return publicKey;  
      }  

      public static PrivateKey getPrivateKey(String key) throws Exception {  
            byte[] keyBytes;  
            keyBytes = (new BASE64Decoder()).decodeBuffer(key);  

            PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);  
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");  
            PrivateKey privateKey = keyFactory.generatePrivate(keySpec);  
            return privateKey;  
      }  

       
      public static String getKeyString(Key key) throws Exception {  
            byte[] keyBytes = key.getEncoded();  
            String s = (new BASE64Encoder()).encode(keyBytes);  
            return s;  
      }  

   
      public static void main(String[] args) throws Exception {  

            KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");  
            //密鑰位數(shù)  
            keyPairGen.initialize(1024);  
            //密鑰對(duì)  
            KeyPair keyPair = keyPairGen.generateKeyPair();  

            // 公鑰  
            PublicKey publicKey = (RSAPublicKey) keyPair.getPublic();  

            // 私鑰  
            PrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();  

            String publicKeyString = getKeyString(publicKey);  
            System.out.println("public:/n" + publicKeyString);  

            String privateKeyString = getKeyString(privateKey);  
            System.out.println("private:/n" + privateKeyString);  

            //加解密類  
            Cipher cipher = Cipher.getInstance("RSA");//Cipher.getInstance("RSA/ECB/PKCS1Padding");  

            //明文  
            byte[] plainText = "我們都很好!郵件:@sina.com".getBytes();  

            //加密  
            cipher.init(Cipher.ENCRYPT_MODE, publicKey);  
            byte[] enBytes = cipher.doFinal(plainText);  

           //通過密鑰字符串得到密鑰  
            publicKey = getPublicKey(publicKeyString);  
            privateKey = getPrivateKey(privateKeyString);  

            //解密  
            cipher.init(Cipher.DECRYPT_MODE, privateKey);  
            byte[]deBytes = cipher.doFinal(enBytes);  

            publicKeyString = getKeyString(publicKey);  
            System.out.println("public:/n" +publicKeyString);  

            privateKeyString = getKeyString(privateKey);  
            System.out.println("private:/n" + privateKeyString);  

            String s = new String(deBytes);  
            System.out.println(s);  

   
      }  

}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品自拍av | 久久国产精品久久久久 | 视频一区二区久久 | 欧美一级精品片在线看 | 精选久久 | 日本一区二区不卡在线观看 | 久草在线手机视频 | av在线免费观看不卡 | 中文字幕观看 | 欧美成人一二三区 | 黄色1级视频 | 羞羞视频免费网站 | 久久91久久久久麻豆精品 | 日韩 综合| 日日草夜夜 | 91丝袜| 亚洲xxx在线观看 | 91短视频网页版 | 精品国产一区二 | 精品中文一区 | 日韩视频一区二区在线观看 | 草草视频免费观看 | 手机国产乱子伦精品视频 | 国产精品久久久久久久久久 | 一级成人免费 | 久久夜夜视频 | 黄色网址进入 | 亚洲免费观看视频 | 国产免费小视频在线观看 | 久久久久久久久久性 | 国产一区二区欧美精品 | 欧美极品欧美精品欧美视频 | 欧美日韩亚洲国产 | 日韩精品中文字幕在线观看 | 国产一级午夜 | 欧美老逼 | 九九热九九热 | 国产成人精品免费视频大全办公室 | 欧美精品黄色 | 亚洲一区国产二区 | www.54271.com|