summaryrefslogtreecommitdiff
path: root/ext/node/ops
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/ops')
-rw-r--r--ext/node/ops/crypto/digest.rs13
-rw-r--r--ext/node/ops/crypto/mod.rs5
2 files changed, 18 insertions, 0 deletions
diff --git a/ext/node/ops/crypto/digest.rs b/ext/node/ops/crypto/digest.rs
index 4fab58a43..685fc32d0 100644
--- a/ext/node/ops/crypto/digest.rs
+++ b/ext/node/ops/crypto/digest.rs
@@ -99,6 +99,19 @@ impl Hash {
Sha512(context) => context.finalize(),
}
}
+
+ pub fn get_hashes() -> Vec<&'static str> {
+ vec![
+ "md4",
+ "md5",
+ "ripemd160",
+ "sha1",
+ "sha224",
+ "sha256",
+ "sha384",
+ "sha512",
+ ]
+ }
}
impl Clone for Hash {
diff --git a/ext/node/ops/crypto/mod.rs b/ext/node/ops/crypto/mod.rs
index a83263fff..1155a4d15 100644
--- a/ext/node/ops/crypto/mod.rs
+++ b/ext/node/ops/crypto/mod.rs
@@ -89,6 +89,11 @@ pub fn op_node_create_hash(state: &mut OpState, algorithm: &str) -> u32 {
}
#[op(fast)]
+pub fn op_node_get_hashes() -> Vec<&'static str> {
+ digest::Hash::get_hashes()
+}
+
+#[op(fast)]
pub fn op_node_hash_update(state: &mut OpState, rid: u32, data: &[u8]) -> bool {
let context = match state.resource_table.get::<digest::Context>(rid) {
Ok(context) => context,