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