我有以下代碼,其中有一段帶有字母表的字節,我將這個字母表數組復制到一個新變量(加密密鑰)中,然后使用一個函數對其進行洗牌。結果是字母表和加密密鑰字節片被打亂。我怎樣才能防止這種情況發生?package mainimport ( "fmt" "math/rand")func main() { alphabet := []byte("ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz.") cryptkey := alphabet fmt.Println(string(alphabet)) cryptkey = shuffle(cryptkey) fmt.Println(string(alphabet))}func shuffle(b []byte) []byte { l := len(b) out := b for key := range out { dest := rand.Intn(l) out[key], out[dest] = out[dest], out[key] } return out}結果 :ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz。miclOfEInzJNvZe.YuVMCdTbXyqtaLwHGjUrABhog xQPWSpKRkDsF
- 1 回答
- 0 關注
- 175 瀏覽
添加回答
舉報
0/150
提交
取消