前面介绍了CAPL自带函数库中包含的AES相关的4种算法,今天咱们介绍下CAPL库包含的一些其他的低级加密函数。
目录
SecurityLocalGenerateSHA256
代码示例
SecurityLocalGenerateSHA512
代码示例
SecurityLocalGenerateCMAC
SecurityLocalGenerateSharedSecretECDH
SecurityLocalGenerateSHA256
功能:将给定的数据和秘钥,生成哈希256的加密数据
data[]:待加密的数据
dataLength:待加密的数据长度
sha256[]:加密完成的sha256数据
sha256Length:加密完成的数据长度
返回值:
1:加密成功
<=0:加密失败
代码示例
byte data[3] = { 0x61, 0x62, 0x63 };
byte refOutput[32] ={
0xba, 0x78, 0x16, 0xbf,
0x8f, 0x01, 0xcf, 0xea,
0x41, 0x41, 0x40, 0xde,
0x5d, 0xae, 0x22, 0x23,
0xb0, 0x03, 0x61, 0xa3,
0x96, 0x17, 0x7a, 0x9c,
0xb4, 0x10, 0xff, 0x61,
0xf2, 0x00, 0x15, 0xad
};
dword refOutputLength = 32;
byte output[32];
dword outputLength = 32;
dword result = 255;
dword counter = 0;
result = SecurityLocalGenerateSHA256(data, elCount(data), output, outputLength);
SecurityLocalGenerateSHA512
功能:将给定的数据和秘钥,生成哈希512的加密数据
data[]:待加密的数据
dataLength:待加密的数据长度
sha256[]:加密完成的sha512数据
sha256Length:加密完成的数据长度
返回值:
1:加密成功
<=0:加密失败
代码示例
byte data[3] = { 0x61, 0x62, 0x63 };
byte refOutput[64] ={
0xdd, 0xaf, 0x35, 0xa1, 0x93, 0x61, 0x7a, 0xba
, 0xcc, 0x41, 0x73, 0x49, 0xae, 0x20, 0x41, 0x31
, 0x12, 0xe6, 0xfa, 0x4e, 0x89, 0xa9, 0x7e, 0xa2
, 0x0a, 0x9e, 0xee, 0xe6, 0x4b, 0x55, 0xd3, 0x9a
, 0x21, 0x92, 0x99, 0x2a, 0x27, 0x4f, 0xc1, 0xa8
, 0x36, 0xba, 0x3c, 0x23, 0xa3, 0xfe, 0xeb, 0xbd
, 0x45, 0x4d, 0x44, 0x23, 0x64, 0x3c, 0xe8, 0x0e
, 0x2a, 0x9a, 0xc9, 0x4f, 0xa5, 0x4c, 0xa4, 0x9f
};
dword refOutputLength = 64;
byte output[64];
dword outputLength = 64;
dword result = 255;
dword counter = 0;
result = SecurityLocalGenerateSHA512(data, elCount(data), output, outputLength);
SecurityLocalGenerateCMAC
功能:为给定的数据和密钥生成哈希,生成一个CMAC的哈希数据。
key[]:使用加密的key
keyLength:key的长度
data[]:待加密的数据
dataLength:待加密的数据长度
cmac[][out]:加密完成的CMAC数据
sha256Length[In/Out]:加密完成的数据长度
返回值:
1:加密成功
<=0:加密失败
SecurityLocalGenerateSharedSecretECDH
功能:使用椭圆曲线Diffie-Hellman(ECDH)协议(X25519)生成共享密钥。
publicKey[]:A的公钥
publicKeyLength:A的公钥长度
privateKey[]:B的公钥
privateKeyLength:B的公钥长丢
sharedSecret[]:生成的加密数据
sharedSecretLength [In/Out]:生成的加密数据长度+输入长度
返回值:
1:成功生成加密数文章来源:https://www.toymoban.com/news/detail-400421.html
<=0:生成加密数据失败文章来源地址https://www.toymoban.com/news/detail-400421.html
到了这里,关于Vector - CAPL - AES算法介绍(续1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!