Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
34
Task/Vigen-re-cipher/Scala/vigen-re-cipher.scala
Normal file
34
Task/Vigen-re-cipher/Scala/vigen-re-cipher.scala
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
object Vigenere {
|
||||
def encrypt(msg: String, key: String) : String = {
|
||||
var result: String = ""
|
||||
var j = 0
|
||||
|
||||
for (i <- 0 to msg.length - 1) {
|
||||
val c = msg.charAt(i)
|
||||
if (c >= 'A' && c <= 'Z') {
|
||||
result += ((c + key.charAt(j) - 2 * 'A') % 26 + 'A').toChar
|
||||
j = (j + 1) % key.length
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
def decrypt(msg: String, key: String) : String = {
|
||||
var result: String = ""
|
||||
var j = 0
|
||||
|
||||
for (i <- 0 to msg.length - 1) {
|
||||
val c = msg.charAt(i)
|
||||
if (c >= 'A' && c <= 'Z') {
|
||||
result += ((c - key.charAt(j) + 26) % 26 + 'A').toChar
|
||||
j = (j + 1) % key.length
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
println("Encrypt text ABC => " + Vigenere.encrypt("ABC", "KEY"))
|
||||
println("Decrypt text KFA => " + Vigenere.decrypt("KFA", "KEY"))
|
||||
Loading…
Add table
Add a link
Reference in a new issue