加密算法入门
加密算法分为:对称加密和非对称加密
加密算法:凯撒加密,DES,AES。
非对称加密。
消息摘要:md5,sha1,sha256
数字签名:SHA256withRSA
package cn.cas /** * 阿斯克码 */ fun main(args: Array<String>) { //获取字符串 val c:Char='a' //转换十进制 val value:Int=c.toInt() // print(value) val str="I love you" val array=str.toCharArray() var bu=StringBuffer() for(ch in array){ val result=ch.toInt() bu.append(result.toString()+" ") }//73 32 108 111 118 101 32 121 111 117 print(bu.toString())//转换10进制 }
package cn.cas class CaesarCrypt{ /** * 解密算法 * @param command 加密源 * @param key 加密秘钥 */ fun decrypt(command:String,key:Int):String{ var charArray= command.toCharArray() //高阶函数 return with(StringBuffer()){ charArray.forEach { //移动字符 val c=it //获取支付ascii var ascii = c.toInt() ascii -=key //转换成字符 val result= ascii.toChar() append(result)//B } toString() } } /** * 加密算法 * @param command 加密源 * @param key 加密秘钥 */ fun encrypt(command:String,key:Int):String { var charArray = command.toCharArray() //高阶函数 return with(StringBuffer()) { charArray.forEach { //移动字符 val c = it //获取支付ascii var ascii = c.toInt() ascii += key //转换成字符 val result = ascii.toChar() append(result)//B } toString() } } } /** * 凯撒密码 */ fun main(args: Array<String>) { //命令 加密 var command="I love you" //秘钥 var key=1 //加密 println(CaesarCrypt().encrypt(command,key)) //加密后 var a=CaesarCrypt().encrypt(command,key) //解密 println(CaesarCrypt().decrypt(a,key)) }
凯撒密码破解:频度分析法:
英文字母是e出现频率很高
1.统计密文出现次数最多的字符
2.我们认为每个字符都是由e变来的
3.通过码表返推加密次数
4.生成多个备份文件,哪个解析后能读懂就是破解后的文件了
package cn.cas fun main(args: Array<String>) { val ch:Char='A' //获取字符ascii var asill=ch.toInt() //转换二进制 val binary= Integer.toBinaryString(asill) println(binary)//1000001 八位 一个英文字符占一个字符 }
---------------------------------------------------------------------------
国之殇,未敢忘!
南京大屠杀!
731部队!
(有关书籍《恶魔的饱食》)以及核污染水排海等一系列全无人性的操作,购买他们的食品和为它们提供帮助只会更加变本加厉的害你,呼吁大家不要购买日本相关产品
昭昭前事,惕惕后人
吾辈当自强,方使国不受他人之侮!
---------------------------------------------------------------------------
作者:三号小玩家
出处:https://www.cnblogs.com/q1359720840/
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 版权信息
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号