📄 tigerdigest.java
字号:
0x7A6BDDFFF370EB00L /* 810 */, 0xCE509E38D6D9D6A4L /* 811 */,
0xEBEB0F00647FA702L /* 812 */, 0x1DCC06CF76606F06L /* 813 */,
0xE4D9F28BA286FF0AL /* 814 */, 0xD85A305DC918C262L /* 815 */,
0x475B1D8732225F54L /* 816 */, 0x2D4FB51668CCB5FEL /* 817 */,
0xA679B9D9D72BBA20L /* 818 */, 0x53841C0D912D43A5L /* 819 */,
0x3B7EAA48BF12A4E8L /* 820 */, 0x781E0E47F22F1DDFL /* 821 */,
0xEFF20CE60AB50973L /* 822 */, 0x20D261D19DFFB742L /* 823 */,
0x16A12B03062A2E39L /* 824 */, 0x1960EB2239650495L /* 825 */,
0x251C16FED50EB8B8L /* 826 */, 0x9AC0C330F826016EL /* 827 */,
0xED152665953E7671L /* 828 */, 0x02D63194A6369570L /* 829 */,
0x5074F08394B1C987L /* 830 */, 0x70BA598C90B25CE1L /* 831 */,
0x794A15810B9742F6L /* 832 */, 0x0D5925E9FCAF8C6CL /* 833 */,
0x3067716CD868744EL /* 834 */, 0x910AB077E8D7731BL /* 835 */,
0x6A61BBDB5AC42F61L /* 836 */, 0x93513EFBF0851567L /* 837 */,
0xF494724B9E83E9D5L /* 838 */, 0xE887E1985C09648DL /* 839 */,
0x34B1D3C675370CFDL /* 840 */, 0xDC35E433BC0D255DL /* 841 */,
0xD0AAB84234131BE0L /* 842 */, 0x08042A50B48B7EAFL /* 843 */,
0x9997C4EE44A3AB35L /* 844 */, 0x829A7B49201799D0L /* 845 */,
0x263B8307B7C54441L /* 846 */, 0x752F95F4FD6A6CA6L /* 847 */,
0x927217402C08C6E5L /* 848 */, 0x2A8AB754A795D9EEL /* 849 */,
0xA442F7552F72943DL /* 850 */, 0x2C31334E19781208L /* 851 */,
0x4FA98D7CEAEE6291L /* 852 */, 0x55C3862F665DB309L /* 853 */,
0xBD0610175D53B1F3L /* 854 */, 0x46FE6CB840413F27L /* 855 */,
0x3FE03792DF0CFA59L /* 856 */, 0xCFE700372EB85E8FL /* 857 */,
0xA7BE29E7ADBCE118L /* 858 */, 0xE544EE5CDE8431DDL /* 859 */,
0x8A781B1B41F1873EL /* 860 */, 0xA5C94C78A0D2F0E7L /* 861 */,
0x39412E2877B60728L /* 862 */, 0xA1265EF3AFC9A62CL /* 863 */,
0xBCC2770C6A2506C5L /* 864 */, 0x3AB66DD5DCE1CE12L /* 865 */,
0xE65499D04A675B37L /* 866 */, 0x7D8F523481BFD216L /* 867 */,
0x0F6F64FCEC15F389L /* 868 */, 0x74EFBE618B5B13C8L /* 869 */,
0xACDC82B714273E1DL /* 870 */, 0xDD40BFE003199D17L /* 871 */,
0x37E99257E7E061F8L /* 872 */, 0xFA52626904775AAAL /* 873 */,
0x8BBBF63A463D56F9L /* 874 */, 0xF0013F1543A26E64L /* 875 */,
0xA8307E9F879EC898L /* 876 */, 0xCC4C27A4150177CCL /* 877 */,
0x1B432F2CCA1D3348L /* 878 */, 0xDE1D1F8F9F6FA013L /* 879 */,
0x606602A047A7DDD6L /* 880 */, 0xD237AB64CC1CB2C7L /* 881 */,
0x9B938E7225FCD1D3L /* 882 */, 0xEC4E03708E0FF476L /* 883 */,
0xFEB2FBDA3D03C12DL /* 884 */, 0xAE0BCED2EE43889AL /* 885 */,
0x22CB8923EBFB4F43L /* 886 */, 0x69360D013CF7396DL /* 887 */,
0x855E3602D2D4E022L /* 888 */, 0x073805BAD01F784CL /* 889 */,
0x33E17A133852F546L /* 890 */, 0xDF4874058AC7B638L /* 891 */,
0xBA92B29C678AA14AL /* 892 */, 0x0CE89FC76CFAADCDL /* 893 */,
0x5F9D4E0908339E34L /* 894 */, 0xF1AFE9291F5923B9L /* 895 */,
0x6E3480F60F4A265FL /* 896 */, 0xEEBF3A2AB29B841CL /* 897 */,
0xE21938A88F91B4ADL /* 898 */, 0x57DFEFF845C6D3C3L /* 899 */,
0x2F006B0BF62CAAF2L /* 900 */, 0x62F479EF6F75EE78L /* 901 */,
0x11A55AD41C8916A9L /* 902 */, 0xF229D29084FED453L /* 903 */,
0x42F1C27B16B000E6L /* 904 */, 0x2B1F76749823C074L /* 905 */,
0x4B76ECA3C2745360L /* 906 */, 0x8C98F463B91691BDL /* 907 */,
0x14BCC93CF1ADE66AL /* 908 */, 0x8885213E6D458397L /* 909 */,
0x8E177DF0274D4711L /* 910 */, 0xB49B73B5503F2951L /* 911 */,
0x10168168C3F96B6BL /* 912 */, 0x0E3D963B63CAB0AEL /* 913 */,
0x8DFC4B5655A1DB14L /* 914 */, 0xF789F1356E14DE5CL /* 915 */,
0x683E68AF4E51DAC1L /* 916 */, 0xC9A84F9D8D4B0FD9L /* 917 */,
0x3691E03F52A0F9D1L /* 918 */, 0x5ED86E46E1878E80L /* 919 */,
0x3C711A0E99D07150L /* 920 */, 0x5A0865B20C4E9310L /* 921 */,
0x56FBFC1FE4F0682EL /* 922 */, 0xEA8D5DE3105EDF9BL /* 923 */,
0x71ABFDB12379187AL /* 924 */, 0x2EB99DE1BEE77B9CL /* 925 */,
0x21ECC0EA33CF4523L /* 926 */, 0x59A4D7521805C7A1L /* 927 */,
0x3896F5EB56AE7C72L /* 928 */, 0xAA638F3DB18F75DCL /* 929 */,
0x9F39358DABE9808EL /* 930 */, 0xB7DEFA91C00B72ACL /* 931 */,
0x6B5541FD62492D92L /* 932 */, 0x6DC6DEE8F92E4D5BL /* 933 */,
0x353F57ABC4BEEA7EL /* 934 */, 0x735769D6DA5690CEL /* 935 */,
0x0A234AA642391484L /* 936 */, 0xF6F9508028F80D9DL /* 937 */,
0xB8E319A27AB3F215L /* 938 */, 0x31AD9C1151341A4DL /* 939 */,
0x773C22A57BEF5805L /* 940 */, 0x45C7561A07968633L /* 941 */,
0xF913DA9E249DBE36L /* 942 */, 0xDA652D9B78A64C68L /* 943 */,
0x4C27A97F3BC334EFL /* 944 */, 0x76621220E66B17F4L /* 945 */,
0x967743899ACD7D0BL /* 946 */, 0xF3EE5BCAE0ED6782L /* 947 */,
0x409F753600C879FCL /* 948 */, 0x06D09A39B5926DB6L /* 949 */,
0x6F83AEB0317AC588L /* 950 */, 0x01E6CA4A86381F21L /* 951 */,
0x66FF3462D19F3025L /* 952 */, 0x72207C24DDFD3BFBL /* 953 */,
0x4AF6B6D3E2ECE2EBL /* 954 */, 0x9C994DBEC7EA08DEL /* 955 */,
0x49ACE597B09A8BC4L /* 956 */, 0xB38C4766CF0797BAL /* 957 */,
0x131B9373C57C2A75L /* 958 */, 0xB1822CCE61931E58L /* 959 */,
0x9D7555B909BA1C0CL /* 960 */, 0x127FAFDD937D11D2L /* 961 */,
0x29DA3BADC66D92E4L /* 962 */, 0xA2C1D57154C2ECBCL /* 963 */,
0x58C5134D82F6FE24L /* 964 */, 0x1C3AE3515B62274FL /* 965 */,
0xE907C82E01CB8126L /* 966 */, 0xF8ED091913E37FCBL /* 967 */,
0x3249D8F9C80046C9L /* 968 */, 0x80CF9BEDE388FB63L /* 969 */,
0x1881539A116CF19EL /* 970 */, 0x5103F3F76BD52457L /* 971 */,
0x15B7E6F5AE47F7A8L /* 972 */, 0xDBD7C6DED47E9CCFL /* 973 */,
0x44E55C410228BB1AL /* 974 */, 0xB647D4255EDB4E99L /* 975 */,
0x5D11882BB8AAFC30L /* 976 */, 0xF5098BBB29D3212AL /* 977 */,
0x8FB5EA14E90296B3L /* 978 */, 0x677B942157DD025AL /* 979 */,
0xFB58E7C0A390ACB5L /* 980 */, 0x89D3674C83BD4A01L /* 981 */,
0x9E2DA4DF4BF3B93BL /* 982 */, 0xFCC41E328CAB4829L /* 983 */,
0x03F38C96BA582C52L /* 984 */, 0xCAD1BDBD7FD85DB2L /* 985 */,
0xBBB442C16082AE83L /* 986 */, 0xB95FE86BA5DA9AB0L /* 987 */,
0xB22E04673771A93FL /* 988 */, 0x845358C9493152D8L /* 989 */,
0xBE2A488697B4541EL /* 990 */, 0x95A2DC2DD38E6966L /* 991 */,
0xC02C11AC923C852BL /* 992 */, 0x2388B1990DF2A87BL /* 993 */,
0x7C8008FA1B4F37BEL /* 994 */, 0x1F70D0C84D54E503L /* 995 */,
0x5490ADEC7ECE57D4L /* 996 */, 0x002B3C27D9063A3AL /* 997 */,
0x7EAEA3848030A2BFL /* 998 */, 0xC602326DED2003C0L /* 999 */,
0x83A7287D69A94086L /* 1000 */, 0xC57A5FCB30F57A8AL /* 1001 */,
0xB56844E479EBE779L /* 1002 */, 0xA373B40F05DCBCE9L /* 1003 */,
0xD71A786E88570EE2L /* 1004 */, 0x879CBACDBDE8F6A0L /* 1005 */,
0x976AD1BCC164A32FL /* 1006 */, 0xAB21E25E9666D78BL /* 1007 */,
0x901063AAE5E5C33CL /* 1008 */, 0x9818B34448698D90L /* 1009 */,
0xE36487AE3E1E8ABBL /* 1010 */, 0xAFBDF931893BDCB4L /* 1011 */,
0x6345A0DC5FBBD519L /* 1012 */, 0x8628FE269B9465CAL /* 1013 */,
0x1E5D01603F9C51ECL /* 1014 */, 0x4DE44006A15049B7L /* 1015 */,
0xBF6C70E5F776CBB1L /* 1016 */, 0x411218F2EF552BEDL /* 1017 */,
0xCB0C0708705A36A3L /* 1018 */, 0xE74D14754F986044L /* 1019 */,
0xCD56D9430EA8280EL /* 1020 */, 0xC12591D7535F5065L /* 1021 */,
0xC83223F1720AEF96L /* 1022 */, 0xC3A0396F7363A51FL /* 1023 */
};
private static final int DIGEST_LENGTH = 24;
//
// registers
//
private long a, b, c;
private long byteCount;
//
// buffers
//
private byte[] buf = new byte[8];
private int bOff = 0;
private long[] x = new long[8];
private int xOff = 0;
/**
* Standard constructor
*/
public TigerDigest()
{
reset();
}
/**
* Copy constructor. This will copy the state of the provided
* message digest.
*/
public TigerDigest(TigerDigest t)
{
a = t.a;
b = t.b;
c = t.c;
System.arraycopy(t.x, 0, x, 0, t.x.length);
xOff = t.xOff;
System.arraycopy(t.buf, 0, buf, 0, t.buf.length);
bOff = t.bOff;
byteCount = t.byteCount;
}
public String getAlgorithmName()
{
return "Tiger";
}
public int getDigestSize()
{
return DIGEST_LENGTH;
}
private void processWord(
byte[] b,
int off)
{
x[xOff++] = ((long)(b[off + 7] & 0xff) << 56)
| ((long)(b[off + 6] & 0xff) << 48)
| ((long)(b[off + 5] & 0xff) << 40)
| ((long)(b[off + 4] & 0xff) << 32)
| ((long)(b[off + 3] & 0xff) << 24)
| ((long)(b[off + 2] & 0xff) << 16)
| ((long)(b[off + 1] & 0xff) << 8)
| ((b[off + 0] & 0xff));
if (xOff == x.length)
{
processBlock();
}
bOff = 0;
}
public void update(
byte in)
{
buf[bOff++] = in;
if (bOff == buf.length)
{
processWord(buf, 0);
}
byteCount++;
}
public void update(
byte[] in,
int inOff,
int len)
{
//
// fill the current word
//
while ((bOff != 0) && (len > 0))
{
update(in[inOff]);
inOff++;
len--;
}
//
// process whole words.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -