One-time pad: Difference between revisions
→{{header|Wren}}: Now uses Wren-srandom module.
(Added Wren) |
(→{{header|Wren}}: Now uses Wren-srandom module.) |
||
Line 1,706:
=={{header|Wren}}==
{{trans|Go}}
{{libheader|Wren-srandom}}
{{libheader|Wren-ioutil}}
{{libheader|Wren-dynamic}}
{{libheader|Wren-str}}
<lang ecmascript>import "
import "
import "/ioutil" for FileUtil, Input
import "/dynamic" for Enum
Line 1,745 ⟶ 1,746:
var makePad = Fn.new { |nLines|
var nChars = nLines * CHARS_PER_LINE
var sb = ""
/* generate random upper case letters */
for (i in 0...nChars) sb = sb + String.fromByte(
return inChunks.call(sb, nLines, FileType.OTP)
}
Line 1,763:
var temp = sb.count % CHARS_PER_LINE
if (temp > 0) { // pad with random characters so each line is a full one
▲ for (i in temp...CHARS_PER_LINE) sb = sb + String.fromByte(r.int(65, 91))
}
var ft = encrypt ? FileType.ENC : FileType.DEC
|