Criptografia e descriptografia XOR simples em Swift (código de playground)

Aqui está um exemplo simples de conversão de strings em matrizes de bytes UTF-8. Seguido por uma criptografia e descriptografia XOR em Swift.

let text = [UInt8]("hello!!!".utf8)
let cipher = [UInt8]("goodbye!".utf8)

var encrypted = [UInt8]()

// encrypt bytes
for t in enumerate(text) {
encrypted
.append(t.element ^ cipher[t.index])
}

var decrypted = [UInt8]()

// decrypt bytes
for t in enumerate(encrypted) {
decrypted
.append(t.element ^ cipher[t.index])
}

String(bytes: decrypted, encoding: NSUTF8StringEncoding) // hello!!!

Para ler mais sobre criptografia XOR e para obter um exemplo interativo, consulte a postagem completa do blog .

Respostas relacionadas:

Algumas extensões Swift simples (tira HTML, cor RGB, inverte cor, ignora segue modal)