Terapkan kunci sandi ini
Tujuan
Gunakan algoritma (dijelaskan di bagian Algoritma) untuk mengimplementasikan cipher tertentu.
Program harus membaca input dari STDIN atau yang setara terdekat yang tersedia, gunakan algoritma untuk menghasilkan ciphertext dan kunci.
Ciphertext dan kunci akan ditulis ke STDOUT atau setara terdekat yang tersedia. Format apa pun diperbolehkan, selama itu output ciphertext dan kunci.
Algoritma
Konversi karakter dalam string menjadi nilai ASCII masing-masing. Sebagai contoh:
Hello -> 72 101 108 108 111
Selanjutnya, Anda harus membuat kunci selama string dengan angka acak di kisaran 0-9.
Hello -> 62841
Tambahkan bilangan bulat dalam urutan angka acak ke nilai ASCII dari string. Dalam contoh di atas, 72 akan menjadi 78, dan 101 akan menjadi 104.
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
Selanjutnya, ubah nilai-nilai baru kembali ke karakter. Dalam contoh di atas, teks Hello
menjadi Ngtpp
.
Contohnya
(Ini hanya contoh dari apa output mungkin terlihat seperti. Output dapat dan akan bervariasi.)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
Aturan
- Anda dapat mengasumsikan bahwa input hanya akan berisi karakter dalam rentang az, AZ, dan spasi.
- Pengajuan harus berupa program atau fungsi lengkap.
- Pengajuan akan dicetak dalam byte.
- Celah standar dilarang.
- Ini kode-golf, jadi kode terpendek menang.
(Ini adalah salah satu tantangan pertama saya, jika ada yang salah dengan itu, jangan ragu untuk memberi tahu saya bagaimana saya bisa memperbaikinya.)
preferably with the format (ciphertext)\n(key).
"fitur yang disukai" dan golf kode tidak bercampur dengan baik. Anda harus membuat itu wajib atau mengizinkan format output lainnya. 3. Apakah kunci harus dicetak tanpa spasi? Bagaimana dengan mencetaknya dalam format daftar, misalnya[0, 5, 2, ...]
?