首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Java小工匠聊密码学】--非对称加密--RSA1

    RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。   对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。

    03

    python模块之math

    copysign:把y的正负号加到x前面,可以使用0 cos:求x的余弦,x必须是弧度 degrees:把x从弧度转换成角度 e:表示一个常量 exp:返回math.e,也就是2.71828的x次方 expm1:返回math.e的x(其值为2.71828)次方的值减1 fabs:返回x的绝对值 factorial:取x的阶乘的值 floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身 fmod:得到x/y的余数,其值是一个浮点数 frexp:返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围 fsum:对迭代器里的每个元素进行求和操作 gcd:返回x和y的最大公约数 hypot:如果x是不是无穷大的数字,则返回True,否则返回False isfinite:如果x是正无穷大或负无穷大,则返回True,否则返回False isinf:如果x是正无穷大或负无穷大,则返回True,否则返回False isnan:如果x不是数字True,否则返回False ldexp:返回x*(2**i)的值 log:返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base) log10:返回x的以10为底的对数 log1p:返回x+1的自然对数(基数为e)的值 log2:返回x的基2对数 modf:返回由x的小数部分和整数部分组成的元组 pi:数字常量,圆周率 pow:返回x的y次方,即x**y radians:把角度x转换成弧度 sin:求x(x为弧度)的正弦值 sqrt:求x的平方根 tan:返回x(x为弧度)的正切值 trunc:返回x的整数部分

    04

    xmuC语言程序实践week 1 大作业

    给定一个矩阵A,一个非负整数b和一个正整数m,求A的b次方除m的余数。   其中一个nxn的矩阵除m的余数得到的仍是一个nxn的矩阵,这个矩阵的每一个元素是原矩阵对应位置上的数除m的余数。   要计算这个问题,可以将A连乘b次,每次都对m求余,但这种方法特别慢,当b较大时无法使用。下面给出一种较快的算法(用A^b表示A的b次方):   若b=0,则A^b%m=I%m。其中I表示单位矩阵。   若b为偶数,则A^b%m=(A^(b/2)%m)^2%m,即先把A乘b/2次方对m求余,然后再平方后对m求余。   若b为奇数,则A^b%m=(A^(b-1)%m)*a%m,即先求A乘b-1次方对m求余,然后再乘A后对m求余。   这种方法速度较快,请使用这种方法计算A^b%m,其中A是一个2x2的矩阵,m不大于10000。

    03

    javaScript的Math数学对象 --用法大全

    Math是 JavaScript 的原生对象,提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用。简而言之就如同java的静态类一样,都是通过类名.方法名()调用的。 Math对象的用法大致可以分为“静态属性”和“静态方法”这两大类,几乎所有的前端运算都可以采取这两种方式解决。有许多运算甚至如同小学生般的简单,今日我就带领大家“回炉重造,重返小学”。现在想想假如我们从小学就已经开始编程了,那么……(今天公司的CTO可能就是你们,站在舞台上装逼的也是你们,你们也许就不会看我的技术文章了,而我可能还在继续我的写作)。 1.Math对象的静态属性 Math对象的静态属性,提供以下一些数学常数。 Math.E:常数e。 Math.LN2:2 的自然对数。 Math.LN10:10 的自然对数。 Math.LOG2E:以 2 为底的e的对数。 Math.LOG10E:以 10 为底的e的对数。 Math.PI:常数π。 Math.SQRT1_2:0.5 的平方根。 Math.SQRT2:2 的平方根。 Math.E // 2.718281828459045 Math.LN2 // 0.6931471805599453 Math.LN10 // 2.302585092994046 Math.LOG2E // 1.4426950408889634 Math.LOG10E // 0.4342944819032518 Math.PI // 3.141592653589793 Math.SQRT1_2 // 0.7071067811865476 Math.SQRT2 // 1.4142135623730951 特别注意: 这些属性都是只读的,不能修改。 其实,我想说,上面这些乱七八糟的属性,我压根就不太懂,除了那个π,其它的一个也不认识,你们认识吗?认识的请举手,不认识的请闪过(因为这不重要)。 2.Math对象的静态方法 Math对象提供以下一些静态方法。 Math.abs():绝对值 Math.ceil():向上取整 Math.floor():向下取整 Math.max():最大值 Math.min():最小值 Math.pow():指数运算 Math.sqrt():平方根 Math.log():自然对数 Math.exp():e的指数 Math.round():四舍五入 Math.random():随机数 下面我带领大家一起来逐个分析这些小学生的方法:

    05

    花朵数

    一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如:当 N=3时,153就满足条件,因为1^3+5^3+3^3=153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3表示5的3次方,也就是立方)。 当N=4时,1634满足条件,因为1^4+6^4+3^4+4^4=1634。 当N=5时,92727满足条件。 实际上,对N的每个取值,可能有多个数字满足条件。 程序的任务是:求N=21时,所有满足条件的花朵数。注意:这个整数有21位,它的各个位数字的21次方之和正好等于这个数本身。 如果满足条件的数字不只有一个,请从小到大输出所有符合条件的数字,每个数字占一行。因为这个数字很大,请注意解法时间上的可行性。要求程序在1分钟内运行完毕。

    02
    领券