zoukankan      html  css  js  c++  java
  • 李洪强经典面试题151-安全机制

    李洪强经典面试题151-安全机制

     

    安全机制

    苹果的安全机制有哪些

    • 没经过用户同意,你不能随便获取用户信息。
    • 所有的程序都在沙盒里运行,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串的字符进行乱序

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

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

  • 相关阅读:
    介绍Shiro Annotation及Shiro标签的用法
    SpringMVC+Apache Shiro+JPA(hibernate)案例教学(四)基于Shiro验证用户权限,且给用户授权
    SpringMVC+Apache Shiro+JPA(hibernate)案例教学(一)整合配置
    Spring MVC之@RequestMapping 详解
    vimrc
    sk_buff深度解析
    ieee80211ax简介
    新基地
    dos格式迭代转为unix
    ath10k MAC地址
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/6027857.html
Copyright © 2011-2022 走看看