Size: a a a

2020 May 15

А

Алхимик in JS Liberty
На примере времени:
parseInt(Date.now() / 1000).toString(16).padStart(8, "0")
источник

K

Koe-kto Gennadievich in JS Liberty
Алхимик
Ещё и дополнять надо до нужного числа.
поправил
источник

А

Алхимик in JS Liberty
Koe-kto Gennadievich
поправил
Ты должен каждое свойство дополнять.
источник

K

Koe-kto Gennadievich in JS Liberty
Алхимик
Ты должен каждое свойство дополнять.
ааа, точно
источник

DE

Denis Efremov in JS Liberty
function variableHash(size, data, input_encoding) {
 //Generate 256-bit hash of data
 var hash = crypto.createHash("sha256");
 hash.update(data, input_encoding);
 hash = hash.digest("binary");
 //Generate pseudorandom-random output that is `size` bytes
 var output = new Buffer(size);
 output.fill(0);
 //Encrypt a zero-filled buffer using the SHA-256 hash as the AES-256 key
 var cipher = crypto.createCipher("aes256", hash);
 var offset = output.write(cipher.update(output), "binary");
 output.write(cipher.final(), offset, "binary");
 return output;
}
источник

S

Syntax Highlight Bot in JS Liberty
Denis Efremov
function variableHash(size, data, input_encoding) {
 //Generate 256-bit hash of data
 var hash = crypto.createHash("sha256");
 hash.update(data, input_encoding);
 hash = hash.digest("binary");
 //Generate pseudorandom-random output that is `size` bytes
 var output = new Buffer(size);
 output.fill(0);
 //Encrypt a zero-filled buffer using the SHA-256 hash as the AES-256 key
 var cipher = crypto.createCipher("aes256", hash);
 var offset = output.write(cipher.update(output), "binary");
 output.write(cipher.final(), offset, "binary");
 return output;
}
источник

DE

Denis Efremov in JS Liberty
источник

DE

Denis Efremov in JS Liberty
Object.defineProperty(String.prototype, 'hashCode', {
 value: function() {
   var hash = 0, i, chr;
   for (i = 0; i < this.length; i++) {
     chr   = this.charCodeAt(i);
     hash  = ((hash << 5) - hash) + chr;
     hash |= 0; // Convert to 32bit integer
   }
   return hash;
 }
});
источник

S

Syntax Highlight Bot in JS Liberty
Denis Efremov
Object.defineProperty(String.prototype, 'hashCode', {
 value: function() {
   var hash = 0, i, chr;
   for (i = 0; i < this.length; i++) {
     chr   = this.charCodeAt(i);
     hash  = ((hash << 5) - hash) + chr;
     hash |= 0; // Convert to 32bit integer
   }
   return hash;
 }
});
источник

DE

Denis Efremov in JS Liberty
источник

K

Koe-kto Gennadievich in JS Liberty
нене, там все аргументы десятичные числа
источник

DE

Denis Efremov in JS Liberty
Ну сделай строки
источник

А

Алхимик in JS Liberty
Denis Efremov
Object.defineProperty(String.prototype, 'hashCode', {
 value: function() {
   var hash = 0, i, chr;
   for (i = 0; i < this.length; i++) {
     chr   = this.charCodeAt(i);
     hash  = ((hash << 5) - hash) + chr;
     hash |= 0; // Convert to 32bit integer
   }
   return hash;
 }
});
charCodeAt() вроде бы некорректно будет работать с юникод-последовательностями.
источник

А

Алхимик in JS Liberty
С некоторыми.
источник

А

Алхимик in JS Liberty
Хотя, для хэша это не важно будет.
источник

K

Koe-kto Gennadievich in JS Liberty
тут еще прикол в том, что решение должно быть какое-то простое по задумке - это первый урок курса
источник

А

Алхимик in JS Liberty
Koe-kto Gennadievich
тут еще прикол в том, что решение должно быть какое-то простое по задумке - это первый урок курса
Оно и есть простое.
источник

А

Алхимик in JS Liberty
Koe-kto Gennadievich
тут еще прикол в том, что решение должно быть какое-то простое по задумке - это первый урок курса
Ну ещё можно упростить вынесением в функцию:
function toHex(num, len) {
 return num.toString(16).padStart(len, "0");
}

// toHex(125, 2);
// toHex(4323, 6);
// ...
источник

K

Koe-kto Gennadievich in JS Liberty
не, мы пока "не знаем" про функции )
источник

А

Алхимик in JS Liberty
Koe-kto Gennadievich
не, мы пока "не знаем" про функции )
А, ок. Я ничего не говорил. 😂
источник