Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift Simple XOR加密大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在 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){$0 ^ key},encoding: NSUTF8StringEncoding)!
}

从里到外,

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

这是我的Playground屏幕截图.

更新:适用于Swift 2.0

extension String {
  func encodeWithXorByte(key: UInt8) -> String {
    return String(bytes: self.utf8.map{$0 ^ key},encoding: NSUTF8StringEncoding) ?? ""
  }
}

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:swift加密