資源簡介
可使用的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
評論
共有 條評論