Ich habe versucht, einen Hash in eine Float-Nummer zu konvertieren, bisher habe ich nur erreicht, um eine Zahl daraus zu generieren.SHA256 Hash zu float Nummer
Wie würde ich einen SHA256-Hash in eine Float-Zahl von 0,0 bis 1,0 konvertieren?
Wie ich eine Reihe bekam,
var hash = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';
var number = hash.substr(0, 8);
number = parseInt(number, 16);
number = Math.abs(number) % 11;
console.log('Number (0 - 10): ' + number);
Ich weiß nicht, ob das möglich ist? Ein Float per definitionem hat ein gewisses Maß an Unpräzision (musste es aufstellen), wie es gespeichert ist. Selbst wenn Sie den Hashwert konvertieren könnten, ist es durchaus möglich, dass es keine genaue Darstellung mehr sein wird. Was versuchst du zu erreichen? – roelofs
@roelofs "Ungenauigkeit" :-) --- Um zu OP: Sie könnten das crypto StackExchange Forum, zum Beispiel https://crypto.stackexchange.com/questions/17990/sha256-output-to-0-99- Nummernbereich –
@ Mörre - das ist der eine - danke! Toller Link, obwohl ich nicht sicher bin, was er will. Theoretisch könnte er mit einer Mantisse und einem Exponenten, der groß genug ist, den Hash einfach durch eine wirklich große Zahl teilen ... – roelofs