package com.dronecontrol.droneapi.helpers; import java.util.Random; import java.util.zip.CRC32; import java.util.zip.Checksum; public class ChecksumHelper { public static final int RANDOM_STRING_LENGTH = 100; public static final String CHARACTERS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static String createRandomCrc32Hex() { return createCrc32Hex(createRandomString()); } public static String createCrc32Hex(String value) { byte bytes[] = value.getBytes(); Checksum checksumCreator = new CRC32(); checksumCreator.update(bytes, 0, bytes.length); long checkSumValue = checksumCreator.getValue(); return fixLength(Long.toHexString(checkSumValue)); } private static String fixLength(String hexString) { while (hexString.length() != 8) { hexString = "0" + hexString; } return hexString; } public static String createRandomString() { Random random = new Random(); StringBuilder stringBuilder = new StringBuilder(RANDOM_STRING_LENGTH); for (int i = 0; i < RANDOM_STRING_LENGTH; i++) { stringBuilder.append(CHARACTERS.charAt(random.nextInt(CHARACTERS.length()))); } return stringBuilder.toString(); } }