⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dilog.java

📁 《加密与解密》随书光盘(四)工具 本书在第一版的基础上,更新了第一版中的过时内容。 本书共分三个部分。 第一部分介绍与加密和解密技术相关的基础知识。 第二部分全面讲述各种最新的软件加密与解密技
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
      Prod[0] = Prod0;
      Prod[1] = Prod1;
      Prod[2] = Prod2;
      Prod[3] = Prod3;
      Prod[4] = Prod4;
      Prod[5] = Prod5;
      Prod[6] = Prod6;
      Prod[7] = Prod7;
      break;

      case 9:
        Prod0 = Prod1 = Prod2 = Prod3 = Prod4 = Prod5 = Prod6 = Prod7 =
        Prod8 = 0;
      TestNbr2 = TestNbr[2];
      TestNbr3 = TestNbr[3];
      TestNbr4 = TestNbr[4];
      TestNbr5 = TestNbr[5];
      TestNbr6 = TestNbr[6];
      TestNbr7 = TestNbr[7];
      TestNbr8 = TestNbr[8];
      Nbr2_0 = Nbr2[0];
      Nbr2_1 = Nbr2[1];
      Nbr2_2 = Nbr2[2];
      Nbr2_3 = Nbr2[3];
      Nbr2_4 = Nbr2[4];
      Nbr2_5 = Nbr2[5];
      Nbr2_6 = Nbr2[6];
      Nbr2_7 = Nbr2[7];
      Nbr2_8 = Nbr2[8];
      i = 0;
      do {
        Nbr = Nbr1[i];
        Pr = Nbr*Nbr2_0 + Prod0;
        ProdB0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_1 + Prod1;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_2 + Prod2;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_3 + Prod3;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_4 + Prod4;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_5 + Prod5;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_6 + Prod6;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_7 + Prod7;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_8 + Prod8;
        Prod7 = Pr & DosALa32_1;
        Prod8 = (Pr >>> 32);
        Nbr = (ProdB0 * MontgomeryMultN) & DosALa32_1;
        Pr = ((Nbr*TestNbr0 + ProdB0) >>> 32) + Nbr*TestNbr1 + Prod0;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr2 + Prod1;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr3 + Prod2;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr4 + Prod3;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr5 + Prod4;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr6 + Prod5;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr7 + Prod6;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr8 + Prod7;
        Prod7 = Pr & DosALa32_1;
        Prod8 += (Pr >>> 32);
        i++;
      } while (i<9);
      if (Prod8 > TestNbr8 || Prod8 == TestNbr8 &&
        (Prod7 > TestNbr7 || Prod7 == TestNbr7 &&
          (Prod6 > TestNbr6 || Prod6 == TestNbr6 &&
            (Prod5 > TestNbr5 || Prod5 == TestNbr5 &&
              (Prod4 > TestNbr4 || Prod4 == TestNbr4 &&
                (Prod3 > TestNbr3 || Prod3 == TestNbr3 &&
                  (Prod2 > TestNbr2 || Prod2 == TestNbr2 &&
                    (Prod1 > TestNbr1 || Prod1 == TestNbr1 &&
                      (Prod0 >= TestNbr0))))))))) {
        Pr = Prod0 - TestNbr0;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod1 - TestNbr1;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod2 - TestNbr2;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod3 - TestNbr3;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod4 - TestNbr4;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod5 - TestNbr5;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod6 - TestNbr6;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod7 - TestNbr7;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod8 - TestNbr8;
        Prod8 = Pr & DosALa32_1;
      }
      Prod[0] = Prod0;
      Prod[1] = Prod1;
      Prod[2] = Prod2;
      Prod[3] = Prod3;
      Prod[4] = Prod4;
      Prod[5] = Prod5;
      Prod[6] = Prod6;
      Prod[7] = Prod7;
      Prod[8] = Prod8;
      break;

      case 10:
        Prod0 = Prod1 = Prod2 = Prod3 = Prod4 = Prod5 = Prod6 = Prod7 =
        Prod8 = Prod9 = 0;
      TestNbr2 = TestNbr[2];
      TestNbr3 = TestNbr[3];
      TestNbr4 = TestNbr[4];
      TestNbr5 = TestNbr[5];
      TestNbr6 = TestNbr[6];
      TestNbr7 = TestNbr[7];
      TestNbr8 = TestNbr[8];
      TestNbr9 = TestNbr[9];
      Nbr2_0 = Nbr2[0];
      Nbr2_1 = Nbr2[1];
      Nbr2_2 = Nbr2[2];
      Nbr2_3 = Nbr2[3];
      Nbr2_4 = Nbr2[4];
      Nbr2_5 = Nbr2[5];
      Nbr2_6 = Nbr2[6];
      Nbr2_7 = Nbr2[7];
      Nbr2_8 = Nbr2[8];
      Nbr2_9 = Nbr2[9];
      i = 0;
      do {
        Nbr = Nbr1[i];
        Pr = Nbr*Nbr2_0 + Prod0;
        ProdB0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_1 + Prod1;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_2 + Prod2;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_3 + Prod3;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_4 + Prod4;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_5 + Prod5;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_6 + Prod6;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_7 + Prod7;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_8 + Prod8;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_9 + Prod9;
        Prod8 = Pr & DosALa32_1;
        Prod9 = (Pr >>> 32);
        Nbr = (ProdB0 * MontgomeryMultN) & DosALa32_1;
        Pr = ((Nbr*TestNbr0 + ProdB0) >>> 32) + Nbr*TestNbr1 + Prod0;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr2 + Prod1;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr3 + Prod2;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr4 + Prod3;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr5 + Prod4;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr6 + Prod5;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr7 + Prod6;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr8 + Prod7;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr9 + Prod8;
        Prod8 = Pr & DosALa32_1;
        Prod9 += (Pr >>> 32);
        i++;
      } while (i<10);
      if (Prod9 > TestNbr9 || Prod9 == TestNbr9 &&
        (Prod8 > TestNbr8 || Prod8 == TestNbr8 &&
          (Prod7 > TestNbr7 || Prod7 == TestNbr7 &&
            (Prod6 > TestNbr6 || Prod6 == TestNbr6 &&
              (Prod5 > TestNbr5 || Prod5 == TestNbr5 &&
                (Prod4 > TestNbr4 || Prod4 == TestNbr4 &&
                  (Prod3 > TestNbr3 || Prod3 == TestNbr3 &&
                    (Prod2 > TestNbr2 || Prod2 == TestNbr2 &&
                      (Prod1 > TestNbr1 || Prod1 == TestNbr1 &&
                        (Prod0 >= TestNbr0)))))))))) {
        Pr = Prod0 - TestNbr0;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod1 - TestNbr1;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod2 - TestNbr2;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod3 - TestNbr3;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod4 - TestNbr4;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod5 - TestNbr5;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod6 - TestNbr6;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod7 - TestNbr7;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod8 - TestNbr8;
        Prod8 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod9 - TestNbr9;
        Prod9 = Pr & DosALa32_1;
      }
      Prod[0] = Prod0;
      Prod[1] = Prod1;
      Prod[2] = Prod2;
      Prod[3] = Prod3;
      Prod[4] = Prod4;
      Prod[5] = Prod5;
      Prod[6] = Prod6;
      Prod[7] = Prod7;
      Prod[8] = Prod8;
      Prod[9] = Prod9;
      break;

      case 11:
        Prod0 = Prod1 = Prod2 = Prod3 = Prod4 = Prod5 = Prod6 = Prod7 =
        Prod8 = Prod9 = Prod10 = 0;
      TestNbr2 = TestNbr[2];
      TestNbr3 = TestNbr[3];
      TestNbr4 = TestNbr[4];
      TestNbr5 = TestNbr[5];
      TestNbr6 = TestNbr[6];
      TestNbr7 = TestNbr[7];
      TestNbr8 = TestNbr[8];
      TestNbr9 = TestNbr[9];
      TestNbr10 = TestNbr[10];
      Nbr2_0 = Nbr2[0];
      Nbr2_1 = Nbr2[1];
      Nbr2_2 = Nbr2[2];
      Nbr2_3 = Nbr2[3];
      Nbr2_4 = Nbr2[4];
      Nbr2_5 = Nbr2[5];
      Nbr2_6 = Nbr2[6];
      Nbr2_7 = Nbr2[7];
      Nbr2_8 = Nbr2[8];
      Nbr2_9 = Nbr2[9];
      Nbr2_10 = Nbr2[10];
      i = 0;
      do {
        Nbr = Nbr1[i];
        Pr = Nbr*Nbr2_0 + Prod0;
        ProdB0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_1 + Prod1;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_2 + Prod2;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_3 + Prod3;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_4 + Prod4;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_5 + Prod5;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_6 + Prod6;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_7 + Prod7;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_8 + Prod8;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_9 + Prod9;
        Prod8 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*Nbr2_10 + Prod10;
        Prod9 = Pr & DosALa32_1;
        Prod10 = (Pr >>> 32);
        Nbr = (ProdB0 * MontgomeryMultN) & DosALa32_1;
        Pr = ((Nbr*TestNbr0 + ProdB0) >>> 32) + Nbr*TestNbr1 + Prod0;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr2 + Prod1;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr3 + Prod2;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr4 + Prod3;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr5 + Prod4;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr6 + Prod5;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr7 + Prod6;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr8 + Prod7;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr9 + Prod8;
        Prod8 = Pr & DosALa32_1;
        Pr = (Pr >>> 32) + Nbr*TestNbr10 + Prod9;
        Prod9 = Pr & DosALa32_1;
        Prod10 += (Pr >>> 32);
        i++;
      } while (i<11);
      if (Prod10 > TestNbr10 || Prod10 == TestNbr10 &&
        (Prod9 > TestNbr9 || Prod9 == TestNbr9 &&
          (Prod8 > TestNbr8 || Prod8 == TestNbr8 &&
            (Prod7 > TestNbr7 || Prod7 == TestNbr7 &&
              (Prod6 > TestNbr6 || Prod6 == TestNbr6 &&
                (Prod5 > TestNbr5 || Prod5 == TestNbr5 &&
                  (Prod4 > TestNbr4 || Prod4 == TestNbr4 &&
                    (Prod3 > TestNbr3 || Prod3 == TestNbr3 &&
                      (Prod2 > TestNbr2 || Prod2 == TestNbr2 &&
                        (Prod1 > TestNbr1 || Prod1 == TestNbr1 &&
                          (Prod0 >= TestNbr0))))))))))) {
        Pr = Prod0 - TestNbr0;
        Prod0 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod1 - TestNbr1;
        Prod1 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod2 - TestNbr2;
        Prod2 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod3 - TestNbr3;
        Prod3 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod4 - TestNbr4;
        Prod4 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod5 - TestNbr5;
        Prod5 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod6 - TestNbr6;
        Prod6 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod7 - TestNbr7;
        Prod7 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod8 - TestNbr8;
        Prod8 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod9 - TestNbr9;
        Prod9 = Pr & DosALa32_1;
        Pr = (Pr>=0?0:-1) + Prod10 - TestNbr10;
        Prod10 = Pr & DosALa32_1;
      }
      Prod[0] = Prod0;
      Prod[1] = Prod1;
      Prod[2] = Prod2;
      Prod[3] = Prod3;
      Prod[4] = Prod4;
      Prod[5] = Prod5;
      Prod[6] = Prod6;
      Prod[7] = Prod7;
      Prod[8] = Prod8;
      Prod[9] = Prod9;
      Prod[10] = Prod10;
      break;

      default:
        for (j=0; j<NumberLength; j++) {
        Prod[j] = 0;
      }
      i = 0;
      do {
        Nbr = Nbr1[i];
        Pr = Nbr*Nbr2[0] + Prod[0];
        ProdB0 = Pr & DosALa32_1;
        for (j=1; j<NumberLength; j++) {
          Pr = (Pr >>> 32) + Nbr*Nbr2[j] + Prod[j];
          Prod[j-1] = Pr & DosALa32_1;
        }
        Prod[j-1] = (Pr >>> 32);
        Nbr = (ProdB0 * MontgomeryMultN) & DosALa32_1;
        Pr = ((Nbr*TestNbr0 + ProdB0) >>> 32) + Nbr*TestNbr1 + Prod[0];
        Prod[0] = Pr & DosALa32_1;
        for (j=1; j<NumberLength-1; j++) {
          Pr = (Pr >>> 32) + Nbr*TestNbr[j+1] + Prod[j];
          Prod[j] = Pr & DosALa32_1;
        }
        Prod[j] += (Pr >>> 32);
        i++;
      } while (i<NumberLength);
      for (j=NumberLength-1; j>=0; j--) {
        if (Prod[j] != TestNbr[j]) {
          break;
        }
      }
      if (j<0 || j>=0 && Prod[j] >= TestNbr[j]) {
        Pr = 0;
        for (j=0; j<NumberLength; j++) {
          Pr = (Pr>=0?0:-1) + Prod[j] - TestNbr[j];
          Prod[j] = Pr & DosALa32_1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -