Swift Simple XOR加密

Swift Simple XOR加密,第1张

概述我试图在 Swift中做一个简单的xor加密例程.我知道这不是一个特别安全或很好的方法,但我只需要简单.我知道代码是如何在 Javascript中实现的,我只是在将它转换为Swift时遇到了麻烦. 使用Javascript: function xor_str(){ var to_enc = "string to encrypt"; var xor_key=28 var the_re 我试图在 Swift中做一个简单的xor加密例程.我知道这不是一个特别安全或很好的方法,但我只需要简单.我知道代码是如何在 Javascript中实现的,我只是在将它转换为Swift时遇到了麻烦.

使用JavaScript:

function xor_str(){  var to_enc = "string to encrypt";  var xor_key=28  var the_res="";//the result will be here  for(i=0;i<to_enc.length;++i)  {    the_res+=String.fromCharCode(xor_key^to_enc.charCodeAt(i));  }  document.forms['the_form'].elements.res.value=the_res;}

你能提供的任何帮助都会很棒,谢谢!

解决方法 我建议像这样扩展String.

extension String {    func encodeWithXorByte(key: UInt8) -> String {        return String(bytes: map(self.utf8){
extension String {  func encodeWithXorByte(key: UInt8) -> String {    return String(bytes: self.utf8.map{ ^ key},enCoding: NSUTF8StringEnCoding) ?? ""  }}
^ key},enCoding: NSUTF8StringEnCoding)!}

从里到外,

>对self.utf8的调用从字符串创建一个字节数组[UInt8]
>在每个元素上调用map()并使用键值进行异或
>从XOR’ed字节数组创建一个新的String对象

这是我的Playground屏幕截图.

更新:适用于Swift 2.0

总结

以上是内存溢出为你收集整理的Swift Simple XOR加密全部内容,希望文章能够帮你解决Swift Simple XOR加密所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1017469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存