• 大小: 11KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: Java
  • 标签: Java代码  

资源简介

可使用的TN门限秘密共享算法(Shamir门限)的Java代码实现,可直接在项目中导入使用。代码亲测可用。有问题可私信。

资源截图

代码片段和文件信息

package com.flash.tn;

import java.math.BigInteger;

public class Binary{
    
    public static String bigIntegerToBinary(BigInteger source) {
        String binary = ““;
        BigInteger one = new BigInteger(“1“)  two = new BigInteger(“2“);
        
     while(!source.equals(BigInteger.ZERO)) {
     if(source.mod(two).equals(one)) {
             binary = “1“ + binary;
            }else {
             binary = “0“ + binary;
            }
     source = source.divide(two);
     }
    
        return binary;
    }
    
    private static String toBe128ForAscii(String binary) {
     if(binary==null) {
     return null;
     }
    
     String ascii = ““  bin = null;
     while(binary.length()>0) {
     if(binary.length()>7) {
     bin = binary.substring(binary.length()-7 binary.length());
     binary = binary.substring(0 binary.length()-7);
     }else {
     bin = binary;
     binary = ““;
     int length = 7-bin.length();
     for(int i=0;i     bin = “0“+bin;
     }
     }

     int resultOf128 = 0;
     for(int i=bin.length()-1;i>-1;i--) {
     int asc = 0;
     if(bin.charAt(i)==‘1‘) {
     asc = 1;
     for(int j=0;j<6-i;j++) {
         asc*=2;
         }
     resultOf128 +=asc;
     }else if(bin.charAt(i)==‘0‘) {
     asc = 0;
     }else {
     return null;
     }
     }
    
     ascii += String.valueOf((char)resultOf128);
     }
    
     if(ascii.equals(““)) {
     return null;
     }
     return ascii;
    }
    
    public static String toBe128ForAscii(BigInteger integer) {
     return toBe128ForAscii(bigIntegerToBinary(integer));
    }

    public static BigInteger asciisOf128TobeBigInteger(String source) {
     BigInteger result = new BigInteger(“0“)iii = new BigInteger(“1“) eight = new BigInteger(“128“);

for(int i=0;i String code = String.valueOf(((int)source.substring(i i+1).charAt(0)));
result = result.add(new BigInteger(code).multiply(iii));
iii = iii.multiply(eight);
}

return result;
    }
    
    
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-31 16:04  TN--绉樺瘑鍏变韩绠楁硶\
     文件         603  2019-05-31 16:04  TN--绉樺瘑鍏变韩绠楁硶\浣跨敤璇存槑.txt
     目录           0  2019-05-31 16:05  __MACOSX\
     目录           0  2019-05-31 16:05  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\
     文件         210  2019-05-31 16:04  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\._浣跨敤璇存槑.txt
     文件        6148  2019-05-31 16:04  TN--绉樺瘑鍏变韩绠楁硶\.DS_Store
     文件         120  2019-05-31 16:04  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\._.DS_Store
     目录           0  2019-05-21 22:50  TN--绉樺瘑鍏变韩绠楁硶\com\
     文件        6148  2019-05-31 15:52  TN--绉樺瘑鍏变韩绠楁硶\com\.DS_Store
     目录           0  2019-05-31 16:05  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\
     文件         120  2019-05-31 15:52  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\._.DS_Store
     目录           0  2019-05-31 15:53  TN--绉樺瘑鍏变韩绠楁硶\com\flash\
     文件        6148  2019-05-31 15:55  TN--绉樺瘑鍏变韩绠楁硶\com\flash\.DS_Store
     目录           0  2019-05-31 16:05  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\flash\
     文件         120  2019-05-31 15:55  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\flash\._.DS_Store
     目录           0  2019-05-31 15:56  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\
     文件        1465  2019-05-31 14:32  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\TNMain.java
     文件        2080  2019-05-31 15:08  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\Binary.java
     文件        6148  2019-05-31 15:56  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\.DS_Store
     目录           0  2019-05-31 16:05  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\
     文件         120  2019-05-31 15:56  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\._.DS_Store
     文件        1805  2019-05-31 14:42  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\EncodeStrengthen.java
     文件         869  2019-05-21 22:45  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\Decoder.java
     文件        2384  2019-05-29 22:11  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\Decode.java
     文件         683  2019-05-31 14:35  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\SecretFragment.java
     文件         483  2019-05-29 22:14  TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\Encoder.java
     文件         176  2019-05-29 22:14  __MACOSX\TN--绉樺瘑鍏变韩绠楁硶\com\flash\tn\._Encoder.java

评论

共有 条评论