MacOS Playgrounds学习 之 密码

Pmttw ,li rqi piw.

能看明白上面的内容吗?

看不明白不要紧,经过今天的游戏,我们就能明白这个是什么内容了。

欢迎你走入新的领域,密码。


密码,你肯定不陌生,你用的电脑有密码,你用的手机也有密码,你的银行卡也有密码。

其实,简单来说,上面说的三个都只能称之为口令。而密码,是把你的口令加密的方法,这样子就不会让其他人知道了。

程序就可以帮我们解决这个工作。

让我们开始密码之旅吧……


我们发现了一个密码学的书,这里面有很多好玩的内容。


使用移位值,就是把一个字母按照这个值在字母表后的字母换一下,就用这个方法来进行加密。


就像是这样子,如果你看不懂这个字条的内容,很正常。我也看不懂。但我们要知道用什么方法去解开它。就是用移位值。


我们猜一下这个移位值吧。用25试一下,好像不对。中间的字太小了。

shift(word, by: shiftCount)

这句命令,就是帮我们解决移位值的方法。

let word: String = "ltsl"   //创建一个字符型的常量

let shiftCount: Int = 25   //创建一个整数型的常量

不管如何,这一个方法我们用对了。有没有什么方法可以帮我们一次性把所有的方式都试过呢?


for i in 1 … n{ 

命令

 } 

这是for循环,我们用到它了。它可以一个不落的帮我们解决问题。


原来移位值是5

原来是拼音。

"""

let aaa: String="ltsl cn sn,onj rn emj! sn dn onsl ytsl lzt qj in dn hmfsl hj xmn. mjs xmft dtz wjs emft ift emj ynft qz,jw on cz etz efn xmfsl rnfs ij wjs onz ljsl xmft qj. ljs emj 'g' emj ynft cnfs xzt, on cz sn ij qa hmjsl. emn rf pfn rjs."

"""

var bioNum =25

let word: String = ciphertext

let shoftNum: Int = bioNum

for i in 1 ...  shoftNum  {

    shift(word, by: i)

}


我们试试这一关。


我们破解出来的内容还是有用的。

原来是“zhi ma kai men”

继续前进。


把文章开头的内容试一下吧。

也可以给你的朋友一个加了密的字条或短信,让他猜吧。

你可能感兴趣的:(MacOS Playgrounds学习 之 密码)