One-time pad: Difference between revisions

Tcl / part1: True random chars for one-time pad
m (Vigenère cipher / /dev/random)
(Tcl / part1: True random chars for one-time pad)
Line 20:
CRWVHI FRNTQW AJVWRT ACAKRD OZKIIB VIQGBK IJCWHF GTTSSE
EXFIPJ KICASQ IOUQTP ZSGXGH YTYCTI BAZSTN JKMFXI RERYWE
</pre>
 
=={{header|Tcl}}==
 
<lang Tcl>puts "# True random chars for one-time pad"
 
proc randInt { min max } {
set randDev [open /dev/urandom rb]
set random [read $randDev 8]
binary scan $random H16 random
set random [expr {([scan $random %x] % (($max-$min) + 1) + $min)}]
close $randDev
return $random
}
 
set alfa "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set len 48
set rs ""
for {set i 0} {$i < $len} {incr i} {
if { [expr {$i % 6} ] == 0} { append rs " " }
set r [randInt 1 26]
set char [string index $alfa $r]
append rs $char
}
puts ":$rs."
 
{{out}}
<pre>
# True random chars for one-time pad
: IDEVVW KCTMY KLKLID DSGKIV WHMOX LIEYWF MCIECW OUQVIV.
</pre>
Anonymous user