×

cocos2dx教程 算法 rsa算法

cocos2dx 怎么使用openssl的rsa算法?1、计算机算法必须具备输入、输出和________等特性 A、可执行性 B、可移植性 C、确定性 D、有穷

admin admin 发表于2022-06-20 02:40:13 浏览137 评论0

抢沙发发表评论

cocos2dx 怎么使用openssl的rsa算法


为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
1.对称加密算法
OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。
2.非对称加密算法
OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。

1、计算机算法必须具备输入、输出和________等特性 A、可执行性 B、可移植性 C、确定性 D、有穷


选ACD 希望可以帮助你哈~~~
解释:
1.有穷性:一个算法必总是在执行有穷步骤之后结束,并且每一步都可以在有穷时间内完成;
2.确定性:算法的每一条指令必须有确切的含义 ,读者理解时不会产生二义性,并且在任何条件下,算法只有唯一的一条执行路径,对于相同的输入只能达到相同的输出;
3.可行性:一个算法是能行的,就是说算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现;
4.输入:一个算法有零个或者是多个输入,这个输入取决于某个特定的对象集合;
5.输出:一个算法有一个或者多个的输出,这些输出是同输入有着某种特定关系的量;

c语言递归算法


用递归法计算n!
用递归法计算n!可用下述公式表示:
n!=1 (n=0,1)
n×(n-1)! (n》1)
按公式可编程如下:
long ff(int n)
{
long f;
if(n《0) printf(“n《0,input error“);
else if(n==0||n==1) f=1;
else f=ff(n-1)*n;
return(f);
}
main()
{
int n;
long y;
printf(“\ninput a inteager number:\n“);
scanf(“%d“,&n);
y=ff(n);
printf(“%d!=%ld“,n,y);
}

程序中给出的函数ff是一个递归函数。主函数调用ff 后即进入函数ff执行,如果n《0,n==0或n=1时都将结束函数的执行,否则就递归调用ff函数自身。由于每次递归调用的实参为n-1,即把n-1的值赋予形参n,最后当n-1的值为1时再作递归调用,形参n的值也为1,将使递归终止。然后可逐层退回。
下面我们再举例说明该过程。设执行本程序时输入为5,即求5!。在主函数中的调用语句即为y=ff(5),进入ff函数后,由于n=5,不等于0或1,故应执行f=ff(n-1)*n,即f=ff(5-1)*5。该语句对ff作递归调用即ff(4)。
进行四次递归调用后,ff函数形参取得的值变为1,故不再继续递归调用而开始逐层返回主调函数。ff(1)的函数返回值为1,ff(2)的返回值为1*2=2,ff(3)的返回值为2*3=6,ff(4)的返回值为6*4=24,最后返回值ff(5)为24*5=120。
-cocos2dx教程