В настоящее время я генерирую UUID в Javascript с помощью этой функции ( Создать GUID / UUID в JavaScript? ):
lucid.uuid = function() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}
Я понимаю, что вся случайность исходит только из JavascriptФункция Math.random (), и мне все равно, соответствует ли она RFC для UUID.Я хочу упаковать как можно больше случайности в как можно меньшее количество байтов в строке Javascript.Вышеуказанная функция дает около 128 бит случайности.Какую маленькую строку (измеренную в байтах UTF8, передаваемых по проводам в HTTP POST) я могу разместить в 128 битах в Javascript?И как мне сгенерировать такую строку?
Редактировать: эта строка будет частью объекта JSON при отправке на сервер, поэтому символы, которые необходимо экранировать в строке, не очень полезны.