· 7 years ago · Apr 07, 2018, 05:54 PM
1// Page must be at least as long as plain text
2if len(page) < len(payload) {
3 return nil, fmt.Errorf("otp: insufficient page size")
4}
5
6result := make([]byte, len(payload))
7
8for i := 0; i < len(payload); i++ {
9 plainText := int(payload[i])
10 secretKey := int(page[i]) // ln 95
11 cipherText := (plainText + secretKey) % 255
12 result[i] = byte(cipherText)
13}
14
15secretKey := int(page[i % len(page)])