use random_bytes directly
This commit is contained in:
parent
e6926725f7
commit
9e05dc3313
1 changed files with 6 additions and 6 deletions
|
@ -100,17 +100,17 @@ public class Ui.Setup : Adw.PreferencesDialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void salt_password (string password, out string token, out string salt) {
|
private void salt_password (string password, out string token, out string salt) {
|
||||||
uchar salt_bytes[8];
|
const int SALT_BYTES = 8;
|
||||||
GCrypt.Random.randomize (salt_bytes);
|
uchar salt_bytes[SALT_BYTES] = GCrypt.Random.random_bytes (SALT_BYTES);
|
||||||
uchar salt_chars[17];
|
uchar salt_chars[2*SALT_BYTES+1];
|
||||||
for (int i = 0; i < 8; i += 1) {
|
for (int i = 0; i < SALT_BYTES; i += 1) {
|
||||||
salt_chars[2*i+0] = "0123456789abcdef"[(salt_bytes[i]>>4)&0xf];
|
salt_chars[2*i+0] = "0123456789abcdef"[(salt_bytes[i]>>4)&0xf];
|
||||||
salt_chars[2*i+1] = "0123456789abcdef"[(salt_bytes[i]>>0)&0xf];
|
salt_chars[2*i+1] = "0123456789abcdef"[(salt_bytes[i]>>0)&0xf];
|
||||||
}
|
}
|
||||||
salt_chars[16] = 0;
|
salt_chars[2*SALT_BYTES] = 0;
|
||||||
var checksum = new Checksum (ChecksumType.MD5);
|
var checksum = new Checksum (ChecksumType.MD5);
|
||||||
checksum.update ((uchar[]) password, -1);
|
checksum.update ((uchar[]) password, -1);
|
||||||
checksum.update (salt_chars, 16);
|
checksum.update (salt_chars, -1);
|
||||||
|
|
||||||
token = checksum.get_string ();
|
token = checksum.get_string ();
|
||||||
salt = (string) salt_chars;
|
salt = (string) salt_chars;
|
||||||
|
|
Loading…
Reference in a new issue