📄 sha1algorithmhelper.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: Sha1AlgorithmHelper.java
package org.gudy.azureus2.core3.util.test;
import java.io.PrintStream;
public class Sha1AlgorithmHelper
{
public Sha1AlgorithmHelper()
{
}
public static void main(String args[])
{
algorithm2NoShift();
}
public static void algorithm2NoShift()
{
String variables = "abcde";
int mask = 15;
for (int t = 0; t <= 79; t++)
{
String a = (new StringBuilder()).append("").append(variables.charAt((85 - t) % 5)).toString();
String b = (new StringBuilder()).append("").append(variables.charAt(((85 - t) + 1) % 5)).toString();
String c = (new StringBuilder()).append("").append(variables.charAt(((85 - t) + 2) % 5)).toString();
String d = (new StringBuilder()).append("").append(variables.charAt(((85 - t) + 3) % 5)).toString();
String e = (new StringBuilder()).append("").append(variables.charAt(((85 - t) + 4) % 5)).toString();
int s = t & mask;
if (t >= 16)
System.out.println((new StringBuilder()).append("w").append(s).append(" = w").append(s + 13 & mask).append(" ^ w").append(s + 8 & mask).append(" ^ w").append(s + 2 & mask).append(" ^ w").append(s).append("; w").append(s).append(" = (w").append(s).append(" << 1) | (w").append(s).append(" >>> 31) ;").toString());
System.out.print((new StringBuilder()).append(e).append(" += ((").append(a).append(" << 5) | ( ").append(a).append(" >>> 27)) + w").append(s).append(" + ").toString());
int ft = t / 20;
if (ft == 0)
System.out.println((new StringBuilder()).append("((").append(b).append(" & ").append(c).append(") | ((~").append(b).append(" ) & ").append(d).append(")) + 0x5A827999 ;").toString());
if (ft == 1)
System.out.println((new StringBuilder()).append("(").append(b).append(" ^ ").append(c).append(" ^ ").append(d).append(") + 0x6ED9EBA1 ;").toString());
if (ft == 2)
System.out.println((new StringBuilder()).append("((").append(b).append(" & ").append(c).append(") | (").append(b).append(" & ").append(d).append(") | (").append(c).append(" & ").append(d).append(")) + 0x8F1BBCDC ;").toString());
if (ft == 3)
System.out.println((new StringBuilder()).append("(").append(b).append(" ^ ").append(c).append(" ^ ").append(d).append(") + 0xCA62C1D6 ;").toString());
System.out.println((new StringBuilder()).append(b).append(" = (").append(b).append(" << 30) | (").append(b).append(" >>> 2) ;").toString());
}
}
public static void algorithm2()
{
int mask = 15;
for (int t = 0; t <= 79; t++)
{
int s = t & mask;
if (t >= 16)
System.out.println((new StringBuilder()).append("w").append(s).append(" = w").append(s + 13 & mask).append(" ^ w").append(s + 8 & mask).append(" ^ w").append(s + 2 & mask).append(" ^ w").append(s).append("; w").append(s).append(" = (w").append(s).append(" << 1) | (w").append(s).append(" >>> 31) ;").toString());
System.out.print((new StringBuilder()).append("temp = ((a << 5) | (a >>> 27)) + e + w").append(s).append(" + ").toString());
int ft = t / 20;
if (ft == 0)
System.out.println("((b & c) | ((~b) & d)) + 0x5A827999 ;");
if (ft == 1)
System.out.println("(b ^ c ^ d) + 0x6ED9EBA1 ;");
if (ft == 2)
System.out.println("((b & c) | (b & d) | (c & d)) + 0x8F1BBCDC ;");
if (ft == 3)
System.out.println("(b ^ c ^ d) + 0xCA62C1D6 ;");
System.out.println("e=d ; d=c ; c = (b << 30) | (b >>> 2) ; b=a ; a=temp;");
}
}
public static void part1()
{
for (int t = 16; t <= 79; t++)
{
System.out.println((new StringBuilder()).append("w").append(t).append(" = w").append(t - 3).append(" ^ w").append(t - 8).append(" ^ w").append(t - 14).append(" ^ w").append(t - 16).append(";").toString());
System.out.println((new StringBuilder()).append("w").append(t).append(" = (w").append(t).append(" << 1) | (w").append(t).append(" >>> 31);").toString());
}
}
public static void part2()
{
for (int t = 0; t <= 79; t++)
{
int fn = t / 20;
System.out.print((new StringBuilder()).append("temp = ((a << 5) | (a >>> 27)) + e + w").append(t).append(" + ").toString());
if (fn == 0)
System.out.println("((b & c) | ((~b) & d)) + 0x5A827999 ;");
if (fn == 1)
System.out.println("(b ^ c ^ d) + 0x6ED9EBA1 ;");
if (fn == 2)
System.out.println("((b & c) | (b & d) | (c & d)) + 0x8F1BBCDC ;");
if (fn == 3)
System.out.println("(b ^ c ^ d) + 0xCA62C1D6 ;");
System.out.println("e = d ; d = c ; c = (b<<30) | (b >>> 2); b = a; a = temp;");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -