暴露解密方法
This commit is contained in:
parent
3e412511fc
commit
0ef0068ffb
@ -6,8 +6,8 @@
|
||||
|
||||
use rustwallet::{
|
||||
aes_decrypt, aes_encrypt, generate_sec_key, get_address, get_public_key, hash_pass_svr,
|
||||
hex_deflate, hex_inflate, keccak256_hash, local_pass_hasher, sign, sign_for_tran,
|
||||
wallet_decrypt, wallet_encrypt,
|
||||
hex_deflate, hex_inflate, keccak256_hash, local_pass_hasher, rdecrypt, rencrypt, sign,
|
||||
sign_for_tran, wallet_decrypt, wallet_encrypt,
|
||||
};
|
||||
use std::ffi::{CStr, CString};
|
||||
use std::os::raw::c_char;
|
||||
@ -56,8 +56,8 @@ fn main() {
|
||||
// let s_key = generate_sec_key(&wallet);
|
||||
// print_cchar!(s_key);
|
||||
|
||||
let key0 = "3f26e586111b5c4cab6a5dd5e0d13c3b13184ba74410ba064a3b485be4f9a2cd";
|
||||
let key1 = "cd00eb0126aeed39762579ce94c90a04695ad17fbd5e79aa4e9fc4a34ba32a5";
|
||||
let key0 = "3f26e586111b5c4cab6a5dd5e0d13c3b13184ba74410ba064a3b485be4f9a2ed";
|
||||
let key1 = "cd00eb0126aeed39762579ce94c90a04695ad17fbd5e79aa4e9fc4a34ba32c5";
|
||||
let address2 = get_address(
|
||||
str_to_cchar!(msg_key),
|
||||
str_to_cchar!(key0),
|
||||
@ -131,5 +131,13 @@ fn main() {
|
||||
|
||||
let local_pass_hass = local_pass_hasher(str_to_cchar!(pass));
|
||||
print_cchar!(local_pass_hass);
|
||||
|
||||
let msg_to_encrypt = "hello world";
|
||||
let msg_encrypted = rencrypt(key_public, str_to_cchar!(msg_to_encrypt));
|
||||
print_cchar!(msg_encrypted);
|
||||
let msg_d = hex_deflate(msg_encrypted);
|
||||
print_cchar!(msg_d);
|
||||
let msg_decrypted = rdecrypt(key_private, msg_encrypted);
|
||||
print_cchar!(msg_decrypted);
|
||||
}
|
||||
}
|
||||
|
16
src/lib.rs
16
src/lib.rs
@ -11,6 +11,7 @@ use std::str::FromStr;
|
||||
|
||||
mod wallet;
|
||||
use secp256k1::PublicKey;
|
||||
use secp256k1::SecretKey;
|
||||
use wallet_impl::Wallet;
|
||||
|
||||
use crate::wallet::*;
|
||||
@ -132,6 +133,21 @@ pub unsafe extern "C" fn rencrypt(pk: *const c_char, msg: *const c_char) -> *mut
|
||||
str_to_cchar!(msg_encrypt)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn rdecrypt(sk: *const c_char, msg: *const c_char) -> *mut c_char {
|
||||
let msg_str = cchar_to_str!(msg);
|
||||
let sk_str = cchar_to_str!(sk);
|
||||
let private_key = match SecretKey::from_str(sk_str) {
|
||||
Ok(v) => v,
|
||||
Err(e) => panic!("error parse publickey: {}", e),
|
||||
};
|
||||
let msg_encrypt = match zdecrypt(private_key, msg_str) {
|
||||
Ok(v) => v,
|
||||
Err(err) => panic!("error encrypt: {:?}", err),
|
||||
};
|
||||
str_to_cchar!(msg_encrypt)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn wallet_encrypt(
|
||||
msg_key: *const c_char,
|
||||
|
Loading…
x
Reference in New Issue
Block a user