工具类
StringBuffer & StringBuilder
StringBuffer、
StringBuffer sb = new StringBuffer(BASEINFO);
for (int i = 0; i < COUNT; i++) {
sb = sb.append("miss");
}
StringBuilder sb = new StringBuilder(BASEINFO);
long starttime = System.currentTimeMillis();
for (int i = 0; i < COUNT; i++) {
sb = sb.append("miss");
}
StringBuffer
以下是
序号 | 方法描述 |
---|---|
1 | |
2 | |
3 | |
4 | int 参数的字符串表示形式插入此序列中 |
5 | String 中的字符替换此序列的子字符串中的字符 |
MD5
MessageDigest
我们在
MessageDigest.getInstance(String Algorithm)
@Test
public void givenPassword_whenHashing_thenVerifying()
throws NoSuchAlgorithmException {
String hash = "35454B055CC325EA1AF2126E27707052";
String password = "ILoveJava";
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(password.getBytes());
byte[] digest = md.digest();
String myHash = DatatypeConverter
.printHexBinary(digest).toUpperCase();
assertThat(myHash.equals(hash)).isTrue();
// 针对文件处理
String filename = "src/test/resources/test_md5.txt";
md.update(Files.readAllBytes(Paths.get(filename)));
}
Apache Commons
@Test
public void givenPassword_whenHashingUsingCommons_thenVerifying() {
String hash = "35454B055CC325EA1AF2126E27707052";
String password = "ILoveJava";
String md5Hex = DigestUtils
.md5Hex(password).toUpperCase();
assertThat(md5Hex.equals(hash)).isTrue();
}
Guava
@Test
public void givenFile_whenChecksumUsingGuava_thenVerifying()
throws IOException {
String filename = "src/test/resources/test_md5.txt";
String checksum = "5EB63BBBE01EEED093CB22BB8F5ACDC3";
HashCode hash = com.google.common.io.Files
.hash(new File(filename), Hashing.md5());
String myChecksum = hash.toString()
.toUpperCase();
assertThat(myChecksum.equals(checksum)).isTrue();
}