如果我理解正确:NSUserDefaults是一个存储敏感数据的不安全的地方,因为某些设置文件可能被黑客攻击并且NSUserDefault值可以更改.
什么可以被黑客攻击而不是黑客攻击?黑客可以看到我的应用程序的Swift代码,还是只看到存储在NSUserDefaults中的变量和值列表?
我可以在我的代码中创建自己的"加密"(其中NSUserDefault值看起来像一堆无意义的数字,并且"密钥"在我的代码中,并且需要进行一些复杂的数学运算)?这样安全吗?
注意:我不打算加密任何严重的用户名或密码,只是Highscores和Bool值,无论是否解锁级别/升级.如果我的手动解决方案是安全的,我不想学习KeychainsWrappers.
侧面问题(虽然我尚未达到此步骤):如何处理应用内购买?是否有一个Bool值表示是否支付了一个项目,以及Bool存储的位置(由您自行决定)?
我正在用 Matlab 制作游戏(一种太空入侵者射击游戏)图形都在一个图形上,只是用多个情节生成,我知道 matlab 不适合这些东西,这使得向同学们展示特别有趣。对于我目前使用的关键输入:
f = figure(1)
set(f, 'KeyPressFcn', @(x,y)disp(get(f,'CurrentCharacter')));
a = get(f,'CurrentCharacter');
if a=='w' %move up..
if a=='d' %move right..
if a=='2' %switch to weapon 2..
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但每次按下一个键时,它都会显示在控制台上,导致不必要的延迟。
我试过:
f = figure(1)
set(f, 'KeyPressFcn');
a = get(f,'CurrentCharacter');
Run Code Online (Sandbox Code Playgroud)
但每次按下一个键时它都会显示“字符串 - 或 - 函数句柄 - 或 - 单元格数组”。
如何识别按键并将其存储到变量中而不在控制台上弹出任何内容?我也希望不必创建第二个功能,因为目前所有内容都干净地保存在一个 .m 文件中。
谢谢!