All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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
 */




© 2015 - 2024 Weber Informatics LLC | Privacy Policy