]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/manager/groups/GroupLinkPassword.java
Cleanup utils
[signal-cli] / src / main / java / org / asamk / signal / manager / groups / GroupLinkPassword.java
1 package org.asamk.signal.manager.groups;
2
3 import org.asamk.signal.manager.util.KeyUtils;
4
5 import java.util.Arrays;
6
7 public final class GroupLinkPassword {
8
9 private static final int SIZE = 16;
10
11 private final byte[] bytes;
12
13 public static GroupLinkPassword createNew() {
14 return new GroupLinkPassword(KeyUtils.getSecretBytes(SIZE));
15 }
16
17 public static GroupLinkPassword fromBytes(byte[] bytes) {
18 return new GroupLinkPassword(bytes);
19 }
20
21 private GroupLinkPassword(byte[] bytes) {
22 this.bytes = bytes;
23 }
24
25 public byte[] serialize() {
26 return bytes.clone();
27 }
28
29 @Override
30 public boolean equals(Object other) {
31 if (!(other instanceof GroupLinkPassword)) {
32 return false;
33 }
34
35 return Arrays.equals(bytes, ((GroupLinkPassword) other).bytes);
36 }
37
38 @Override
39 public int hashCode() {
40 return Arrays.hashCode(bytes);
41 }
42 }