Code polish, updated base64 dependency

This commit is contained in:
nathan 2020-08-06 02:35:09 +02:00
parent 693bf4cef2
commit 82e404930c
4 changed files with 22 additions and 12 deletions

View File

@ -41,7 +41,7 @@ import org.lwjgl.util.xxhash.XXH32State;
import org.lwjgl.util.xxhash.XXHash; import org.lwjgl.util.xxhash.XXHash;
import org.slf4j.Logger; import org.slf4j.Logger;
import dorkbox.util.OS; import dorkbox.os.OS;
import dorkbox.util.bytes.LittleEndian; import dorkbox.util.bytes.LittleEndian;
/** /**

View File

@ -63,8 +63,8 @@ import org.bouncycastle.openpgp.operator.bc.BcPGPDataEncryptorBuilder;
import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider; import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider;
import org.bouncycastle.openpgp.operator.bc.BcPublicKeyKeyEncryptionMethodGenerator; import org.bouncycastle.openpgp.operator.bc.BcPublicKeyKeyEncryptionMethodGenerator;
import dorkbox.os.OS;
import dorkbox.util.IO; import dorkbox.util.IO;
import dorkbox.util.OS;
/** /**
* PGP crypto related methods * PGP crypto related methods

View File

@ -17,6 +17,7 @@ package dorkbox.util.crypto;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.util.Arrays; import java.util.Arrays;
import java.util.Base64;
/** /**
* An implementation of the <a href="http://www.tarsnap.com/scrypt/scrypt.pdf"/>scrypt</a> key derivation function. * An implementation of the <a href="http://www.tarsnap.com/scrypt/scrypt.pdf"/>scrypt</a> key derivation function.
@ -111,9 +112,9 @@ class CryptoSCrypt {
sb.append("$s0$") sb.append("$s0$")
.append(params) .append(params)
.append('$'); .append('$');
sb.append(dorkbox.util.Base64Fast.encodeToString(salt, false)) sb.append(Base64.getEncoder().encodeToString(salt))
.append('$'); .append('$');
sb.append(dorkbox.util.Base64Fast.encodeToString(derived, false)); sb.append(Base64.getEncoder().encodeToString(derived));
return sb.toString(); return sb.toString();
} }
@ -141,8 +142,8 @@ class CryptoSCrypt {
} }
int params = Integer.parseInt(parts[2], 16); int params = Integer.parseInt(parts[2], 16);
byte[] salt = dorkbox.util.Base64Fast.decodeFast(parts[3]); byte[] salt = Base64.getDecoder().decode(parts[3]);
byte[] derived0 = dorkbox.util.Base64Fast.decodeFast(parts[4]); byte[] derived0 = Base64.getDecoder().decode(parts[4]);
//noinspection NumericCastThatLosesPrecision //noinspection NumericCastThatLosesPrecision
int N = (int) Math.pow(2, params >> 16 & 0xFF); int N = (int) Math.pow(2, params >> 16 & 0xFF);

View File

@ -40,6 +40,7 @@ import java.security.interfaces.DSAParams;
import java.security.spec.InvalidKeySpecException; import java.security.spec.InvalidKeySpecException;
import java.security.spec.RSAPrivateCrtKeySpec; import java.security.spec.RSAPrivateCrtKeySpec;
import java.security.spec.RSAPublicKeySpec; import java.security.spec.RSAPublicKeySpec;
import java.util.Base64;
import java.util.Date; import java.util.Date;
import java.util.Enumeration; import java.util.Enumeration;
@ -114,7 +115,6 @@ import org.bouncycastle.operator.bc.BcRSAContentVerifierProviderBuilder;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import dorkbox.util.Base64Fast;
import dorkbox.util.crypto.signers.BcECDSAContentSignerBuilder; import dorkbox.util.crypto.signers.BcECDSAContentSignerBuilder;
import dorkbox.util.crypto.signers.BcECDSAContentVerifierProviderBuilder; import dorkbox.util.crypto.signers.BcECDSAContentVerifierProviderBuilder;
@ -145,14 +145,19 @@ public class CryptoX509 {
String cert_begin = "-----BEGIN CERTIFICATE-----"; String cert_begin = "-----BEGIN CERTIFICATE-----";
String cert_end = "-----END CERTIFICATE-----"; String cert_end = "-----END CERTIFICATE-----";
byte[] derCert = x509cert.getEncoded(); byte[] derCert = Base64.getMimeEncoder().encode(x509cert.getEncoded());
char[] encodeToChar = Base64Fast.encodeToChar(derCert, false); char[] encodeToChar = new char[derCert.length];
for (int i = 0; i < derCert.length; i++) {
encodeToChar[i] = (char) derCert[i];
}
int newLineCount = encodeToChar.length/64; int newLineCount = encodeToChar.length/64;
int length = encodeToChar.length; int length = encodeToChar.length;
output = new BufferedWriter(new FileWriter("dorkbox.crt", false), output = new BufferedWriter(new FileWriter(fileName, false),
cert_begin.length() + cert_end.length() + length + newLineCount + 3); cert_begin.length() + cert_end.length() + length + newLineCount + 3);
output.write(cert_begin); output.write(cert_begin);
@ -191,8 +196,12 @@ public class CryptoX509 {
String cert_begin = "-----BEGIN CERTIFICATE-----"; String cert_begin = "-----BEGIN CERTIFICATE-----";
String cert_end = "-----END CERTIFICATE-----"; String cert_end = "-----END CERTIFICATE-----";
byte[] derCert = x509cert.getEncoded(); byte[] derCert = Base64.getMimeEncoder().encode(x509cert.getEncoded());
char[] encodeToChar = Base64Fast.encodeToChar(derCert, false); char[] encodeToChar = new char[derCert.length];
for (int i = 0; i < derCert.length; i++) {
encodeToChar[i] = (char) derCert[i];
}
int newLineCount = encodeToChar.length/64; int newLineCount = encodeToChar.length/64;