June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -0,0 +1 @@
sha256=: 3&(128!:6)

View file

@ -0,0 +1,2 @@
sha256 'Rosetta code'
764faf5c61ac315f1497f9dfa542713965b785e5cc2f707d6468d7d1124cdfcf

View file

@ -1,13 +1,10 @@
clear = "Rosetta code"
standard = "764faf5c61ac315f1497f9dfa542713965b785e5cc2f707d6468d7d1124cdfcf"
msg = "Rosetta code"
using Nettle
digest = hexdigest("sha256", msg)
# native
using SHA
digest1 = join(num2hex.(sha256(msg)))
crypt = join(map(hex, sha256("Rosetta code")))
println("Testing Julia's SHA-256:")
if crypt == standard
println(" OK, \"", clear, "\" => ", crypt)
else
println("The hash does not match the standard value.")
end
@assert digest == digest1

View file

@ -0,0 +1,10 @@
# Project: SHA-256
# Date : 2018/06/09
# Author: Gal Zsolt [~ CalmoSoft ~]
# Email : <calmosoft@gmail.com>
load "stdlib.ring"
str = "Rosetta code"
see "String: " + str + nl
see "SHA-256: "
see sha256(str) + nl

View file

@ -1,10 +1,12 @@
extern crate crypto;
extern crate ring;
use crypto::sha2::Sha256;
use crypto::digest::Digest;
use ring::digest::{digest, SHA256};
fn main() {
let mut digest = Sha256::new();
digest.input_str("Rosetta code");
assert!(digest.result_str() == "764faf5c61ac315f1497f9dfa542713965b785e5cc2f707d6468d7d1124cdfcf".into());
println!("{}", sha_256("Rosetta code"));
}
fn sha_256(input: &str) -> String {
let result = digest(&SHA256, input.as_bytes());
result.as_ref().iter().map(|b| format!("{:x}", b)).collect()
}