自动化立体仓库 - WMS系统
zwl
2 天以前 909cc78ba290cefc3c4623eff234e85ca0140e6d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.zy.iot.util;
 
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.Locale;
import java.util.UUID;
 
public final class IotInstructionIdGenerator {
 
    private IotInstructionIdGenerator() {
    }
 
    public static String generate() {
        return generate(UUID.randomUUID() + "-" + System.nanoTime());
    }
 
    public static String generate(String seed) {
        try {
            MessageDigest digest = MessageDigest.getInstance("SHA-1");
            byte[] hash = digest.digest(seed.getBytes(StandardCharsets.UTF_8));
            StringBuilder builder = new StringBuilder();
            for (byte item : hash) {
                builder.append(String.format(Locale.ROOT, "%02x", item));
            }
            return builder.substring(0, 20).toUpperCase(Locale.ROOT);
        } catch (Exception e) {
            throw new IllegalStateException("generate iot instruction id failed", e);
        }
    }
}