[LINUX] Finden Sie den SHA256-Wert mit R (mit Bonus)

Es ist ein Memo, weil ich zu wenig Möglichkeiten habe, es zu verwenden, und ich kann mich nicht erinnern, wann ich darüber nachgedacht habe, es zu verwenden.

Ausführungsumgebung

SHA256 in R.

SHA256 in R.


if (!require("openssl")) install.packages("openssl")
print(openssl::sha256("hello!"))
# -> [1] "ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b"

if (!require("openssl")) install.packages("openssl")
print(openssl::sha256("Heiligenschein!"))
# -> [1] "3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42"

Bei der Ausführung über die Befehlszeile

Bei der Ausführung über die Befehlszeile


Rscript -e '
if (!require("openssl")) install.packages("openssl")
print(openssl::sha256("hello!"))
'

Stellen Sie sicher, dass das Ergebnis wirklich korrekt ist

Ich mache mir Sorgen, ob es wirklich passt ... Ich dachte, dass diese Angst nicht beseitigt werden kann, ohne zu überprüfen, ob die Ergebnisse in verschiedenen Umgebungen gleich sind. Als ich sie nachschlug, war es in vielen Fällen einfach genug, in einen Liner zu schreiben, sodass es sich um ein Memo handelt.

Ich fragte mich, ob ich zwei oder drei der folgenden Schritte ausführen sollte, einschließlich Japanisch, und prüfen sollte, ob die Ergebnisse gleich sind.

Linux-Befehl

SHA256-Test (Linux-Befehl)


#echo+benutze sha256sum
echo -n "hello!" | sha256sum
# -> ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b  -

echo -n "Heiligenschein!" | sha256sum
# -> 3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42  -

#echo+benutze openssl
echo -n "hello!" | openssl sha256
# -> (stdin)= ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b

echo -n "Heiligenschein!" | openssl sha256
# -> (stdin)= 3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42

Der Befehl "echo" vergisst möglicherweise die Option "-n", daher ist der Befehl "printf" möglicherweise besser.

SHA256-Test mit printf (Linux-Befehl)


printf "hello!" | sha256sum
# -> ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b  -

printf "Heiligenschein!" | sha256sum
# -> 3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42  -

Node.js13.5

SHA256-Test (Knoten.js)


console.log(require("crypto").createHash("sha256").update("hello!").digest("hex"))
// -> ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b

console.log(require("crypto").createHash("sha256").update("Heiligenschein!").digest("hex"))
// -> 3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42

Bei der Ausführung über die Befehlszeile

Bei der Ausführung über die Befehlszeile


node -e '
console.log(require("crypto").createHash("sha256").update("hello!").digest("hex"))
'

Python3.5

SHA256-Test (Python)


#3.5
print(__import__("hashlib").sha256("hello!".encode("utf-8")).hexdigest())
print(__import__("hashlib").sha256("Heiligenschein!".encode("utf-8")).hexdigest())

Bei der Ausführung über die Befehlszeile

Bei der Ausführung über die Befehlszeile


python3 -c '
print(__import__("hashlib").sha256("hello!".encode("utf-8")).hexdigest())
'

Ruby2.3

SHA256-Test (Ruby)


require "digest/sha2"
print Digest::SHA256.hexdigest("hello!")
# -> "ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b"

require "digest/sha2"
print Digest::SHA256.hexdigest("Heiligenschein!")
# -> "3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42"

#Oder
require "openssl"
print OpenSSL::Digest::SHA256.hexdigest("hello!")
# -> "ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b"

require "openssl"
print OpenSSL::Digest::SHA256.hexdigest("Heiligenschein!")
# -> "3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42"

Bei der Ausführung über die Befehlszeile

Bei der Ausführung über die Befehlszeile


ruby -e '
require "openssl"
print OpenSSL::Digest::SHA256.hexdigest("hello!")
'

Perl5

SHA256-Test (Perl)


use Digest::SHA qw(sha256_hex);
print sha256_hex("hello!");
# -> ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b

use Digest::SHA qw(sha256_hex);
print sha256_hex("Heiligenschein!");
# -> 3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42

Bei der Ausführung über die Befehlszeile

Bei der Ausführung über die Befehlszeile


perl -e '
use Digest::SHA qw(sha256_hex);
print sha256_hex("hello!");
'

JavaScript

SHA256-Test (JavaScript)


/*
  https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/Zitiert aus Digest
*/
async function digestMessage(message) {
  const msgUint8 = new TextEncoder().encode(message);
  const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  const hashHex = hashArray.map(b=>b.toString(16).padStart(2, '0')).join('');
  return hashHex;
}

console.log(await digestMessage("hello!"))
// -> ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b

console.log(await digestMessage("Heiligenschein!"))
// -> 3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42

//Wenn Sie alle auf einmal mit Karte ausführen möchten
let target = ["hello!", "Heiligenschein!"];
console.log(await Promise.all(target.map(s=>digestMessage(s))))
// -> [
"ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b",
"3564dcbd2cb0145ebf4a2f1219f9354a4c91936f0bdfe545bbc5140bcd7bba42"
]

Recommended Posts

Finden Sie den SHA256-Wert mit R (mit Bonus)
Finden Sie die Definition des Wertes von errno
[Python] Finden Sie den zweitkleinsten Wert.
Extrahieren Sie den Maximalwert mit Pandas.
Finden Sie die Bearbeitungsentfernung (Levenshtein-Entfernung) mit Python
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 2)
Lassen Sie uns den Maximalwert Python finden (Korrektur ver)
Finden Sie das Differential zweiter Ordnung mit der automatischen Differenzierung von JAX
Finden Sie mit NumPy die Position über dem Schwellenwert
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
Finden Sie den Tag nach Datum / Uhrzeit heraus
Beschreibe ec2 mit boto3 und rufe den Wert ab
Finden Sie den kürzesten Weg mit dem Python Dijkstra-Algorithmus
Berechnen Sie die Summe der eindeutigen Werte durch Pandas-Kreuztabellen
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Finden Sie den Speicherort der mit pip installierten Pakete heraus
Extrahieren Sie den Maximalwert mit Pandas und ändern Sie diesen Wert
Finden Sie das maximale Python
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Memo, um den Wert auf der HTML-Javascript-Seite mit Jupiter zu erhalten
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Erben Sie die Standardbibliothek, um den Durchschnittswert der Warteschlange zu ermitteln
Ihre URL hat nicht mit dem Wert des Challenge-Parameters geantwortet.
Suchen Sie den Index des Maximalwerts (Minimalwerts) eines mehrdimensionalen Arrays
Multiplizieren Sie den Wert der x-Achse mit n, wenn Sie mit Pylab zeichnen
Der wahre Wert der Terraform-Automatisierung ab Oracle Cloud