hex->base64转换增加保护, 增加测试
This commit is contained in:
parent
6ec2c56005
commit
1b2708141d
@ -178,7 +178,10 @@ impl Wallet {
|
|||||||
{
|
{
|
||||||
let secp = Secp256k1::new();
|
let secp = Secp256k1::new();
|
||||||
let secret_key = self.get_secret_key();
|
let secret_key = self.get_secret_key();
|
||||||
let hex_str = hex::decode(msg).unwrap();
|
let hex_str = match hex::decode(msg){
|
||||||
|
Ok(v) => v,
|
||||||
|
Err(e) => panic!("error decode hex str: {}", e),
|
||||||
|
};
|
||||||
let message_to_hash = Message::from_slice(&hex_str).unwrap();
|
let message_to_hash = Message::from_slice(&hex_str).unwrap();
|
||||||
let (_recovery_id, signature) = secp
|
let (_recovery_id, signature) = secp
|
||||||
.sign_ecdsa_recoverable(&message_to_hash, &secret_key)
|
.sign_ecdsa_recoverable(&message_to_hash, &secret_key)
|
||||||
@ -192,29 +195,33 @@ impl Wallet {
|
|||||||
let pk = self.get_public_key();
|
let pk = self.get_public_key();
|
||||||
let pk = &pk.serialize();
|
let pk = &pk.serialize();
|
||||||
let msg = msg.as_bytes();
|
let msg = msg.as_bytes();
|
||||||
println!("msg before encrypt: {:?}", msg);
|
// println!("msg before encrypt: {:?}", msg);
|
||||||
let msg_encrypt = match encrypt(pk, &msg) {
|
let msg_encrypt = match encrypt(pk, &msg) {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(e) => panic!("error encrypt content: {}", e),
|
Err(e) => panic!("error encrypt content: {}", e),
|
||||||
};
|
};
|
||||||
println!("msg after encrypt: {:?}", &msg_encrypt);
|
// println!("msg after encrypt: {:?}", &msg_encrypt);
|
||||||
let str_encrypt = hex::encode(&msg_encrypt);
|
let str_encrypt = hex::encode(&msg_encrypt);
|
||||||
Ok(str_encrypt)
|
Ok(str_encrypt)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn zdecrypt(&self, msg: &str) -> Result<String> {
|
pub fn zdecrypt(&self, msg1: &str) -> Result<String> {
|
||||||
let sk = self.get_secret_key();
|
let sk = self.get_secret_key();
|
||||||
let sk = sk.secret_bytes();
|
let sk = sk.secret_bytes();
|
||||||
|
let mut msg: String = msg1.clone().to_string();
|
||||||
|
if msg.len() % 2 == 1 {
|
||||||
|
msg = "0".to_owned() + &msg;
|
||||||
|
}
|
||||||
|
println!("msg to decrypt: {:?}", &msg);
|
||||||
let msg = match hex::decode(&msg) {
|
let msg = match hex::decode(&msg) {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(e) => panic!("error decode hex str {}", e),
|
Err(e) => panic!("error decode hex str: {}", e),
|
||||||
};
|
};
|
||||||
println!("msg to decrypt: {:?}", &msg);
|
|
||||||
let msg_decrypt = match decrypt(&sk, &msg) {
|
let msg_decrypt = match decrypt(&sk, &msg) {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(e) => panic!("error decrypt content: {}", e),
|
Err(e) => panic!("error decrypt content: {}", e),
|
||||||
};
|
};
|
||||||
println!("msg after decrypt: {:?}", &msg_decrypt);
|
// println!("msg after decrypt: {:?}", &msg_decrypt);
|
||||||
// let msg_decrypt = hex::encode(msg_decrypt);
|
// let msg_decrypt = hex::encode(msg_decrypt);
|
||||||
let str_decrypt = match str::from_utf8(&msg_decrypt) {
|
let str_decrypt = match str::from_utf8(&msg_decrypt) {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user