All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pdfjet.Salsa20 Maven / Gradle / Ivy
/* */ package com.pdfjet;
/* */
/* */ class Salsa20
/* */ {
/* 19 */ private String id = null;
/* */
/* */ public Salsa20()
/* */ {
/* 79 */ int[] arrayOfInt = new int[16];
/* */
/* 81 */ StringBuilder localStringBuilder = new StringBuilder(Long.toHexString(System.currentTimeMillis()));
/* */
/* 83 */ int i = 128 - localStringBuilder.length();
/* 84 */ for (int j = 0; j < i; j++) {
/* 85 */ localStringBuilder.append('0');
/* */ }
/* */
/* 88 */ for (j = 0; j < 128; j += 8) {
/* 89 */ arrayOfInt[(j / 8)] = ((int)Long.parseLong(localStringBuilder.substring(j, j + 8), 16));
/* */ }
/* */
/* 93 */ this.id = bin2hex(salsa20_word_specification(arrayOfInt));
/* */ }
/* */
/* */ private int R(int paramInt1, int paramInt2)
/* */ {
/* 100 */ return paramInt1 << paramInt2 | paramInt1 >>> 32 - paramInt2;
/* */ }
/* */
/* */ private int[] salsa20_word_specification(int[] paramArrayOfInt)
/* */ {
/* 106 */ int[] arrayOfInt1 = new int[16];
/* 107 */ int[] arrayOfInt2 = new int[16];
/* */
/* 109 */ for (int i = 0; i < 16; i++) {
/* 110 */ arrayOfInt2[i] = paramArrayOfInt[i];
/* */ }
/* */
/* 113 */ for (i = 20; i > 0; i -= 2) {
/* 114 */ arrayOfInt2[4] ^= R(arrayOfInt2[0] + arrayOfInt2[12], 7); arrayOfInt2[8] ^= R(arrayOfInt2[4] + arrayOfInt2[0], 9);
/* 115 */ arrayOfInt2[12] ^= R(arrayOfInt2[8] + arrayOfInt2[4], 13); arrayOfInt2[0] ^= R(arrayOfInt2[12] + arrayOfInt2[8], 18);
/* 116 */ arrayOfInt2[9] ^= R(arrayOfInt2[5] + arrayOfInt2[1], 7); arrayOfInt2[13] ^= R(arrayOfInt2[9] + arrayOfInt2[5], 9);
/* 117 */ arrayOfInt2[1] ^= R(arrayOfInt2[13] + arrayOfInt2[9], 13); arrayOfInt2[5] ^= R(arrayOfInt2[1] + arrayOfInt2[13], 18);
/* 118 */ arrayOfInt2[14] ^= R(arrayOfInt2[10] + arrayOfInt2[6], 7); arrayOfInt2[2] ^= R(arrayOfInt2[14] + arrayOfInt2[10], 9);
/* 119 */ arrayOfInt2[6] ^= R(arrayOfInt2[2] + arrayOfInt2[14], 13); arrayOfInt2[10] ^= R(arrayOfInt2[6] + arrayOfInt2[2], 18);
/* 120 */ arrayOfInt2[3] ^= R(arrayOfInt2[15] + arrayOfInt2[11], 7); arrayOfInt2[7] ^= R(arrayOfInt2[3] + arrayOfInt2[15], 9);
/* 121 */ arrayOfInt2[11] ^= R(arrayOfInt2[7] + arrayOfInt2[3], 13); arrayOfInt2[15] ^= R(arrayOfInt2[11] + arrayOfInt2[7], 18);
/* 122 */ arrayOfInt2[1] ^= R(arrayOfInt2[0] + arrayOfInt2[3], 7); arrayOfInt2[2] ^= R(arrayOfInt2[1] + arrayOfInt2[0], 9);
/* 123 */ arrayOfInt2[3] ^= R(arrayOfInt2[2] + arrayOfInt2[1], 13); arrayOfInt2[0] ^= R(arrayOfInt2[3] + arrayOfInt2[2], 18);
/* 124 */ arrayOfInt2[6] ^= R(arrayOfInt2[5] + arrayOfInt2[4], 7); arrayOfInt2[7] ^= R(arrayOfInt2[6] + arrayOfInt2[5], 9);
/* 125 */ arrayOfInt2[4] ^= R(arrayOfInt2[7] + arrayOfInt2[6], 13); arrayOfInt2[5] ^= R(arrayOfInt2[4] + arrayOfInt2[7], 18);
/* 126 */ arrayOfInt2[11] ^= R(arrayOfInt2[10] + arrayOfInt2[9], 7); arrayOfInt2[8] ^= R(arrayOfInt2[11] + arrayOfInt2[10], 9);
/* 127 */ arrayOfInt2[9] ^= R(arrayOfInt2[8] + arrayOfInt2[11], 13); arrayOfInt2[10] ^= R(arrayOfInt2[9] + arrayOfInt2[8], 18);
/* 128 */ arrayOfInt2[12] ^= R(arrayOfInt2[15] + arrayOfInt2[14], 7); arrayOfInt2[13] ^= R(arrayOfInt2[12] + arrayOfInt2[15], 9);
/* 129 */ arrayOfInt2[14] ^= R(arrayOfInt2[13] + arrayOfInt2[12], 13); arrayOfInt2[15] ^= R(arrayOfInt2[14] + arrayOfInt2[13], 18);
/* */ }
/* */
/* 132 */ for (i = 0; i < 16; i++) {
/* 133 */ arrayOfInt2[i] += paramArrayOfInt[i];
/* */ }
/* */
/* 136 */ return arrayOfInt1;
/* */ }
/* */
/* */ private String bin2hex(int[] paramArrayOfInt)
/* */ {
/* 142 */ String str = "0123456789abcdef";
/* 143 */ StringBuilder localStringBuilder = new StringBuilder();
/* */
/* 145 */ for (int i = 0; i < paramArrayOfInt.length; i++) {
/* 146 */ int j = paramArrayOfInt[i];
/* 147 */ localStringBuilder.append(str.charAt(j >> 28 & 0xF));
/* 148 */ localStringBuilder.append(str.charAt(j >> 24 & 0xF));
/* 149 */ localStringBuilder.append(str.charAt(j >> 20 & 0xF));
/* 150 */ localStringBuilder.append(str.charAt(j >> 16 & 0xF));
/* 151 */ localStringBuilder.append(str.charAt(j >> 12 & 0xF));
/* 152 */ localStringBuilder.append(str.charAt(j >> 8 & 0xF));
/* 153 */ localStringBuilder.append(str.charAt(j >> 4 & 0xF));
/* 154 */ localStringBuilder.append(str.charAt(j & 0xF));
/* */ }
/* */
/* 157 */ return localStringBuilder.substring(0, 32);
/* */ }
/* */
/* */ public String getID()
/* */ {
/* 163 */ return this.id;
/* */ }
/* */
/* */ public static void main(String[] paramArrayOfString)
/* */ {
/* 168 */ new Salsa20();
/* */ }
/* */ }
/* Location: E:\EGGWIFI\Customer\trunk\src\Workspace\Customer\Customer Maven Webapp\src\main\webapp\WEB-INF\lib\PDFjet.jar
* Qualified Name: com.pdfjet.Salsa20
* JD-Core Version: 0.6.2
*/