local.cpp
来自「此为本书的配套光盘.本书不但由浅入深地讲解了软件保护技术」· C++ 代码 · 共 26 行
CPP
26 行
#include "local.h"
#include "blowfish.h"
JNIEXPORT jcharArray JNICALL Java_local_Decrypt
(JNIEnv *jenv, jobject jobj, jcharArray jsrc)
{
//加密和解密的密钥,BLOWFISH是对称加密算法,
//所以他的加密和解密的密钥是相同的
char *pucKey = "FTSAFE";
//构造一个BLOWFISH加解密算法对象,
//并初始化对象的密钥和密钥的大小
CBlowfish bf((unsigned char*)pucKey, sizeof(pucKey));
//获得传入字符数组的对象的字符串缓冲区
jchar *src = jenv->GetCharArrayElements(jsrc, 0);
//解密操作,BLOWFISH要求传入的数据长度必须是8byte的倍数
bf.Decrypt((BYTE*)src, 32);
//释放缓冲区
jenv->ReleaseCharArrayElements(jsrc, src, 0);
return jsrc;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?