• 安全属性战术在系统中的应用(信息领域热词分析)


      一般安全属性  会首先在登陆时  在数据库账号密码的 传输读取上 进行加密 来抵抗攻击(例如;

    在用户登录和注册信息处理中采用了MD5加密技术, MD5加密算法,对于普通强度的口令加密。这样在数据库的读写上都是密文传输,可以提高用户信息安全级别。)

    package com.oracle.jsp.util;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    /**
     * 
     * @author wjxing
     *
     */
    public class MD5 {
        
        // 全局数组
        private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
                "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
    
        public MD5() {
        }
    
        // 返回形式为数字跟字符串
        private static String byteToArrayString(byte bByte) {
            int iRet = bByte;
            // System.out.println("iRet="+iRet);
            if (iRet < 0) {
                iRet += 256;
            }
            int iD1 = iRet / 16;
            int iD2 = iRet % 16;
            return strDigits[iD1] + strDigits[iD2];
        }
    
        // 返回形式只为数字
        @SuppressWarnings("unused")
        private static String byteToNum(byte bByte) {
            int iRet = bByte;
            System.out.println("iRet1=" + iRet);
            if (iRet < 0) {
                iRet += 256;
            }
            return String.valueOf(iRet);
        }
    
        // 转换字节数组为16进制字串
        private static String byteToString(byte[] bByte) {
            StringBuffer sBuffer = new StringBuffer();
            for (int i = 0; i < bByte.length; i++) {
                sBuffer.append(byteToArrayString(bByte[i]));
            }
            return sBuffer.toString();
        }
    
        public static String GetMD5Code(String strObj) {
            String resultString = null;
            try {
                resultString = new String(strObj);
                MessageDigest md = MessageDigest.getInstance("MD5");
                // md.digest() 该函数返回值为存放哈希值结果的byte数组
                resultString = byteToString(md.digest(strObj.getBytes()));
            } catch (NoSuchAlgorithmException ex) {
                ex.printStackTrace();
            }
            return resultString;
        }
    
    }

    效果:

    。简单说一下  应该有的措施吧:

    除此之外还有设置权限

         对用户进行授权。授权能够保证经过了身份验证的用户有权访问和修改数据或服务。这通常通过在系统中提供一些访问控制模式进行管理。可以对单个用户进行访问控制,也可以对某一类用户进行访问控制。也可以根据用户分组、用户角色或个人列表定义用户类

      维护数据的机密性。应该对数据进行保护,以防止未经授权的访问。一般通过对数据和通讯链路进行某种形式的加密来实现机密性。另一方面,通信链路一般不具有授权控制,对于通过公共可访问的通信链路传数据来说,加密是唯一的保护措施。对基于web的链路,可以通过VPN或者SSL来实现该链路。

         维护完整性。应该如期提供数据,数据中可能有冗余信息、如校验或哈希值,他们可以与原始数据一起进行加密,也可以单独加密。

         限制暴露的信息。攻击者通常会利用暴露的某个弱点来攻击主机上的所有数据和服务。设计师可以设计服务在主机上的分配,以使只能在每个主机上获得有限的服务。

         限制访问。防火墙根据消息源或目的地端口来限制访问。来自未知源的消息可能是某种形式的攻击。限制对已知源的访问并不总是可行的,例如,一个公共网站上可能会有来自未知源的请求。这种情况中使用一个配置就是所谓的解除管制区。

    检测攻击。检测攻击通常通过“入侵检测”系统进行。

    从攻击中恢复  设置事件  触发条件  系统瘫痪后 重新加载  

  • 相关阅读:
    一行Haskell语句打印勾股数
    给孩子增加学习生物的兴趣,买了个显微镜
    实现求n个随机数和为sum的haskell程序
    用haskell实现的八皇后程序
    桥牌笔记:第一墩决定成败
    读书笔记:父母离去前要做的55件事
    LINQ to SQL系列三 使用DeferredLoadingEnabled,DataLoadOption指定加载选项
    LINQ to SQL系列四 使用inner join,outer join
    Asp.Net 4.0 新特性 系列 之一 从页面标记<%%>说起
    使用javascript自动标记来自搜索结果页的关键字
  • 原文地址:https://www.cnblogs.com/1983185414xpl/p/12392731.html
Copyright © 2020-2023  润新知