jue*_*n d 0 c++ openssl blowfish
我用Blowfish编码进行了一些测试并发现了一些东西.编码的字符串并不总是与源字符串一样长.它有时会更短.
如果我想解码编码的字符串,我需要在openssl函数中解码的长度:
BF_cfb64_encrypt(encoded_input,decoded_output,length_to_decode,&key,iv,&num,BF_DECRYPT);
Run Code Online (Sandbox Code Playgroud)
这里的问题是我没有length_to_decodeif if我不知道源字符串的长度.如果我使用解码后的字符串的长度作为length_to_decode,那么这可能太短了.
如果我使用更大的长度,则解码的字符串不正确.那么我需要知道使用blowfish编码解码的长度吗?
在互联网上的所有示例代码中,编码和解码总是在一个函数中进行,并且解码示例使用硬编码长度进行解码.但在现实生活中,我不知道编码字符串的长度,然后呢?
这是一个例子:
source string: sdcfgssssssss
source length: 13
encryption key: s
encrypted output: :‹(
encrypted length: 4
Run Code Online (Sandbox Code Playgroud)
我这样初始化我的钥匙:
BF_KEY key;
const char * keyStr = "s";
BF_set_key(&key, strlen(keyStr), (const unsigned char *)keyStr);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |