Più per curiosità che per altro ho pensato sarebbe stato carino creare un programma di criptaggio per i messaggi e magari automatizzarlo etc. Ho scritto questi due codici in una mezz'oretta circa quindi cioé, può essere migliorato molto. Non sono riuscito a rendere criptabili anche i simboli, però mi sarebbe piaciuto parecchio, se avete qualche idea su come rendere questo programma un po' più fluido fatemelo sapere, so che ruby di norma è parecchio lento, ma questo l'ho trovato esagerato.
Qui di seguito l'encrypter:
e qui il decrypter:
Fatemi anche sapere se potete se funziona alla perfezione!! Ho notato che a volte ripete qualche lettera, ma non sono sicuro se fosse dovuto alla chiave che ho scelto o altro.
Qui di seguito l'encrypter:
Ruby:
puts("Seleziona la chiave personalizzata che vuoi utilizzare, e ricorda! Devono essere tutte le lettere dell'alfabeto, e non usare né numeri né simboli.")
p_key=gets.chomp.to_s
puts("============================================================================")
puts("Dopodiché inserisci il messaggio che vuoi criptare con la chiave selezionata")
msg=gets.chomp.to_s
msg=msg.downcase
alphabet="abcdefghijklmnopqrstuvwxyz"
encr_msg=""
for char in (0..msg.length-1)
if (msg[char]==" ")
encr_msg<< " "
end
for x in (0..alphabet.length-1)
if (msg[char]==alphabet[x])
encr_msg<<p_key[x]
end
end
end
puts(encr_msg)
puts("Non scordare la chiave per decriptare il messaggio: ", p_key)
e qui il decrypter:
Ruby:
print("Inserisci il messaggio che desideri descriptare: ")
encr_msg=gets.chomp.to_s
encr_msg=encr_msg.downcase
puts("Inserisci la chiave per decriptare il messaggio! E ricorda, solo lettere.")
p_key=gets.chomp.to_s
decr_msg=""
alphabet="abcdefghijklmnopqrstuvwxyz"
for char in (0..encr_msg.length-1)
if (encr_msg[char]==" ")
decr_msg << " "
end
for x in (0..p_key.length-1)
if (encr_msg[char]==p_key[x])
decr_msg<< alphabet[x]
end
end
end
puts("Il messaggio decriptato è: ", decr_msg)
Fatemi anche sapere se potete se funziona alla perfezione!! Ho notato che a volte ripete qualche lettera, ma non sono sicuro se fosse dovuto alla chiave che ho scelto o altro.