zoukankan      html  css  js  c++  java
  • 加密相关

    网络应用程序数据的原则:
    
    1. 在网络上"不允许"传输用户隐私数据的"明文"
    2. 在本地"不允许"保存用户隐私数据的"明文"
    
    加密相关
    
    1. base64 编码格式
    2. 密码学演化 "秘密本"-->RSA
    
    RSA简单说明:加密算法算法是公开的,加密方式如下:
    
    - "公钥"加密,"私钥"解密
    - "私钥"加密,"公钥"解密
    
    目前流行的加密方式:
    ---------------
    - 哈希(散列)函数
        - MD5
        - SHA1
        - SHA256
    
    - 对称加密算法
        - DES
        - 3DES
        - AES(高级密码标准,美国国家安全局使用的)
    
    - 非对称加密算法(RSA)
    
    散列函数:
    ---------------
    特点:
        - 算法是公开的
        - "对相同的数据加密,得到的结果是一样的"
        - 对不同的数据加密,得到的结果是定长的,MD5对不同的数据进行加密,得到的结果都是 32 个字符长度的字符串
        - 信息摘要,信息"指纹",是用来做数据识别的!
        - 不能反算的
    
    用途:
        - 密码,服务器并不需要知道用户真实的密码!
        - 搜索
            张老师 杨老师 苍老师
            苍老师 张老师 杨老师
    
            张老师            1bdf605991920db11cbdf8508204c4eb
            杨老师             2d97fbce49977313c2aae15ea77fec0f
            苍老师             692e92669c0ca340eff4fdcef32896ee
    
            如何判断:对搜索的每个关键字进行三列,得到三个相对应的结果,按位相加结果如果是一样的,那搜索的内容就是一样的!
        - 版权
            版权保护,文件的识别。
    
    破解:
        - http://www.cmd5.com 记录超过24万亿条,共占用160T硬盘 的密码数据,通过对海量数据的搜索得到的结果!
    
    提升MD5加密安全性,有两个解决办法
    1. 加"盐"(佐料)
    2. HMAC:给定一个"秘钥",对明文进行加密,并且做"两次散列"!-> 得到的结果,还是 32 个字符
  • 相关阅读:
    join函数——Gevent源码分析
    代理上网(ssh 动态端口转发)
    内核热patch
    技术债
    mysql 隔离级别与间隙锁等
    python type
    django : related_name and related_query_name
    ssh 卡主
    logistics regression
    __new__ 和 __init__
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/7191955.html
Copyright © 2011-2022 走看看