美文网首页iOS 面试iOS笔试面试iOS面试题
可能碰到的iOS笔试面试题(21)--安全机制

可能碰到的iOS笔试面试题(21)--安全机制

作者: b485c88ab697 | 来源:发表于2016-05-04 10:59 被阅读955次

    安全机制

    苹果的安全机制有哪些

    • 没经过用户同意,你不能随便获取用户信息。
    • 所有的程序都在沙盒里运行,B程序不能进入A程序的运行范围。
    • 如果跟钱有关,比如说支付宝,这些底层的实现都是保密的,只提供接口供开发者调用,这样的话安全性得到保障。
    • 如果要防止代码被反编译,可以将自己的代码中的.m文件封装成静态库(.a文件)或者是framework文件,只提供给其它人.h文件。这样就保证了个人代码的安全性。
    • 网络登录的话跟用户名跟密码相关要发送POST请求,如果是GET请求的话密码会直接在URL中显示。然后同时要对帐号密码采用加密技术,加一句:我们公司用的是MD5,但是现在MD5有一个专门的网站来破解,为了防止这个,可以采用加盐技术。

    iOS 的签名机制大概是怎样的?

    • 假设,我们有一个APP需要发布,为了防止中途篡改APP内容,保证APP的完整性,以及APP是由指定的私钥发的。首先,先将APP内容通过摘要算法,得到摘要,再用私钥对摘要进行加密得到密文,将源文本、密文、和私钥对应的公钥一并发布即可。
    • 那么如何验证呢?
      验证方首先查看公钥是否是私钥方的,然后用公钥对密文进行解密得到摘要,将APP用同样的摘要算法得到摘要,两个摘要进行比对,如果相等那么一切正常。这个过程只要有一步出问题就视为无效。

    客户端安全性处理方式?

    1>  网络数据传输(敏感数据[账号\密码\消费数据\银行卡账号], 不能明文发送)
    2>  协议的问题(自定义协议, 游戏代练)
    3>  本地文件存储(游戏的存档)
    4>  源代码(混淆)
    
    

    如何进行数据加密?

    常见的加密算法:MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES

    加密算法的选择:一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密

    MD5的特点:

    (1)输入两个不同的明文不会得到相同的输出值

    (2)根据输出值,不能得到原始的明文,即其过程不可逆

    现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度

    加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5

    先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序

    总之宗旨就是:黑客就算攻破了数据库,也无法解密出正确的明文

    文章如有问题,请留言,我将及时更正。

    满地打滚卖萌求赞,如果本文帮助到你,轻点下方的红心,给作者君增加更新的动力。

    相关文章

      网友评论

      • 八戒军团:大佬能不能讲解一下怎么对加密得到的MD5串的字符进行乱序,还有DES是怎么加密的呢?一般公司会用到吗?

      本文标题:可能碰到的iOS笔试面试题(21)--安全机制

      本文链接:https://www.haomeiwen.com/subject/jourrttx.html