鸿蒙仓颉语言之【安全密码库crypto4cj】介绍与使用说明
·
介绍
crypto4cj 是一个安全的密码库,包括密码算法、密钥生成和签名验证。 该库是对 openSSL 封装的仓颉加密算法
特性:
- 🚀 MD5、RC2、RC4、SHA(SHA1、SHA224、SHA256、SHA384、SHA512)、AES 算法
- 🚀 BIGNUM 计算类、随机数类、位运算、上下文函数
- 🚀 HMAC 摘要算法
- 🚀 DSA 签名验证
- 🚀 DH 通信双方进行密钥协商算法
- 🚀 RSA 加解密和签名验证
- 🚀 ECDSA 签名验证
- 🚀 DES、SM4 对称加密算法
架构
[源码目录
.
├── doc
├── include
├── lib
├── openssl_c
├── src
│ ├── aescj
│ ├── bignumcj
│ ├── dhcj
│ ├── digestcj
│ ├── dsacj
│ ├── eccj
│ ├── evpcj
│ ├── hmaccj
│ ├── md5cj
│ ├── rc2cj
│ ├── rc4cj
│ ├── rsacj
│ ├── sha1cj
│ ├── sha224cj
│ ├── sha256cj
│ ├── sha384cj
│ ├── sha512cj
│ ├── symmetrycj
│ └── utils
└── test
│ ├── HLT
│ ├── LLT
│ └── UT
├── CHANGELOG.md
├── gitee_gate.cfg
├── LICENSE.txt
├── module.json
├── README.md
├── README.OpenSource
doc
存放库的设计文档、使用文档、LLT 用例覆盖报告include
是编译 C 的时候需要头文件依赖lib
存放copenssl
的crypto
源码动态库,和openssl_c
编译出来的动态库(编译方式见 [编译]openssl_c
是存放封装openssl
部分算法的c
代码src
是库源码目录test
存放 HLT 测试用例、LLT 自测用例和 UT 单元测试用例
接口说明
主要核心类和全局函数说明
使用说明
编译
前提:参考 [https://github.com/openssl/openssl] 官网安装 openssl
,版本为 OpenSSL 1.1.1n 15 Mar 2022
。
openssl编译
进入openssl根目录,在Linux或mysys2中执行以下命令
sed -i 's/SHARED_NAME[([a-z].*)]=([a-z].*).*mingw64.*}/SHARED_NAME[\1]=\1/g' build.info
var=`awk '/"linux-generic32".*=>/{print NR}' Configurations/10-main.conf` && sed -i ''"$var"',/.so./{s/.so..*)/.so/}' Configurations/10-main.conf
-
linux x86_64 编译
进入openssl根目录,执行下面语句
./config -no-asm make
-
Windows编译
进入openssl根目录,执行下面语句
./config -no-asm make
-
ohos编译
进入openssl根目录,执行下面语句(其中
/usr1/ohos/llvm/bin/
是ohos编译器路径,/usr1/ohos/llvm/include/aarch64-linux-ohos
是ohos的头文件,请自行设置)./Configure -fPIC no-asm shared no-async linux-aarch64 --cross-compile-prefix="/usr1/ohos/llvm/bin/llvm-" make CFLAGS="-I/usr1/ohos/llvm/include/aarch64-linux-ohos --target=aarch64-linux-ohos" LDFLAGS="--target=aarch64-linux-ohos" CC="/usr1/ohos/llvm/bin/clang"
cryptocj编译
-
linux x86_64 编译
将上面生成文件
libcrypto.so
,放入根目录的lib
文件夹下,之后执行./build_linux.sh
-
windows x64 编译
将上面生成文件
libcrypto.dll
,放入根目录的lib
文件夹下,修改build_windows.bat
中msys2的路径,之后执行build_windows.bat
-
ohos编译
将上面生成ohos版本的文件
libcrypto.so
,放入根目录的lib
文件夹下,之后执行./build_ohos.sh
更多推荐
所有评论(0)