1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Java如何實現(xiàn)RSA算法

      小編給大家分享一下Java如何實現(xiàn)RSA算法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

      我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、龍州ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的龍州網(wǎng)站制作公司

      以下是引用片段:
      package rsa;
      import java.math.BigInteger;

      public class RSA {
      private long p,q,e,d,n;
      public RSA(){
       int pIndex = (int)(Math.random()*10);
       int qIndex;
       int eIndex;
       do{
        qIndex = (int)(Math.random()*10);
       }
       while(qIndex==pIndex);
       do{
        eIndex = (int)(Math.random()*10);
       }
       while(eIndex==pIndex||eIndex==pIndex);
       p = 1033;
       q = 2017;
       e = 29437;
       n = p*q;
       d = calculateD();
      }
      private long calculateD(){
       long t0 = 0,t1 = 1,t2 = -1;
       long r0 = (p-1)*(q-1), m = r0,r1 = e ,r2 = -1;
       do{
        long q = r0/r1;
        r2 = r0-r1*q;
        if(r2==0)break;
        t2 = t0 - t1*q;
        while(t2<0){
      t2+=m;
        }
        if(t2>=m){
         t2 %= m;
        }    
        r0 = r1;
        r1 = r2;
        t0 = t1;
        t1 = t2;
       }while(r2!=0);
       if(r1!=1){
        return 0;
       }
       else{
        return t2;
       }
      }
       
      public long getE() {
       return e;
      }
      public long getN() {
       return n;
      }
      public long getD() {
       return d;
      }
      public BigInteger encode(BigInteger data){
       return pow(data,d).mod(new BigInteger(n+""));
      }
      public BigInteger decode(BigInteger code){
       return pow(code,e).mod(new BigInteger(n+""));
      }
      public BigInteger pow(BigInteger data,long p){
       data = data.pow((int)p);
       return data;
      }
      public static void main(String args[]){
       RSA rsa = new RSA();
       
       BigInteger data = new BigInteger("222222");
       long oldtime = System.currentTimeMillis();
       BigInteger code = rsa.encode(data);
       long newtime = System.currentTimeMillis();
       double codetime = ((double)(newtime-oldtime))/1000;
       oldtime = System.currentTimeMillis();
       BigInteger decode = rsa.decode(code);
       newtime = System.currentTimeMillis();
       double decodetime = ((double)(newtime-oldtime))/1000;
       System.out.println("privateKey:"+rsa.d);
       System.out.println("publickKey:"+rsa.e);
       System.out.println("N:"+rsa.n);
       System.out.println("data:"+data);
       System.out.println("code:"+code+" time:"+codetime);
       System.out.println("decode:"+decode+" time:"+decodetime);

      }

      }

      以上是“Java如何實現(xiàn)RSA算法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      網(wǎng)頁名稱:Java如何實現(xiàn)RSA算法
      文章網(wǎng)址:http://ef60e0e.cn/article/ghjies.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        海门市| 瓦房店市| 新竹县| 谢通门县| 义乌市| 安福县| 舟曲县| 新宾| 鸡西市| 弥勒县| 枣强县| 新疆| 西乌| 蕲春县| 汕尾市| 玉溪市| 奎屯市| 临夏县| 密山市| 丰城市| 阿克陶县| 奈曼旗| 五指山市| 广宁县| 景东| 镇原县| 礼泉县| 南漳县| 平乐县| 肥东县| 奈曼旗| 德庆县| 乐陵市| 黔东| 肥东县| 嘉荫县| 淮南市| 澄城县| 隆德县| 甘泉县| 通道|