精华内容
下载资源
问答
  • ssh安全机制浅探

    千次阅读 2014-06-20 19:49:37
    1。 ssh 协议    SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供...1.ssh向sshd发起请求,sshd会告诉请求过来的ssh自己是啥版本,还又能跟那些版本搭话; 2.
    1。  ssh 协议
        
               SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题
              
    2.细节 
    ssh 登录
    1.ssh向sshd发起请求,sshd会告诉请求过来的ssh自己是啥版本,还又能跟那些版本搭话;

    2.ssh确认自己版本够新可以和sshd交互后,ssh和sshd就开始交换双方能支持的加密算法之类的信息

    3.sshd就首先生成session key, 把其中的sshd_key_pub发给ssh, 并且随机生成一个id,也发给ssh

    4.ssh自己也生成session key,然后和id异或得到临时的tmp_session_key,然后用sshd_key_pub加密发给sshd5.sshd用自己的sshd_key解密得到tmp_session_key,然后和id异或之后就得到了ssh生成的session key所以到这步ssh和sshd之间就建立起了一个加密过的通道


     信任关系鉴权

    1.client用已经建立起来的加密通道,用session key加密自己的id_rsa.pub发给server 【加密通道过程】

    2.server端用session key解开获取到id_rsa.pub,在authorized_keys里头找匹配的key,如果找到了就生成校验码verify_code,用id_rsa.pub加密,再用session key再次加密,然后才发给client


    3.client用session key解开之后,用自己的id_rsa解密内容,得到verify_code,然后用session key加密verify_code再发给server 


    4.server用session key解开后跟自己发出去的verify_code校验,如果一致就鉴权通过  【为什么要进行二次鉴权?

    应该是防止,人家模拟发包刚好=某个【session key加密自己的id_rsa.pub】从而建立欺骗的信任。
    疑问:这个临时生成的verify_code 【临时令牌】多久过期?


     
    3.对比


         
    项目 ssh信任关系鉴权 redius计费协议 oauth2.0认证和授权 https 认证过程 lvs防止tcp长连接攻击
    大致过程 1.cs建立加密通道 2.c发普通鉴权信息给s 3.s鉴权后发给c临时令牌 1.通过AAA认证过程建立信任通道2.客户端发出随机的临时令牌 request-auth3.服务器端通过ResponseAuth = MD5(Code+ID+Length+RequestAuth+ Attributes+Secret);返回响应4.客户端通过临时令牌和自身的secret确认的确是非伪装的服务器回应。 1.用户访问美丽说,点击用微博账号登录2.美丽说通过appkey获得微博的一个临时授权令牌3.美丽说用临时授权令牌和用户账号密码请求微博提供用户的账号基础信息4.微博鉴权成功后返回账号基本信息 1.浏览器发送自己支持的认证方式2.服务器返回证书,里面包含了网站地址,加密公钥3.浏览器接收证书,并生成一串随机数的密码【临时令牌】,并用证书中提供的公钥加密,发给服务器4.服务器使用私钥取出临时令牌,并使用公钥+临时令牌与浏览器交互信息注:https的公钥只能加密,私钥只能解密,固安全性高 1.sync flood 通过SYN攻击,攻击者可以建立与受害者计算机的最初连接,受害者计算机等待连接的完成。攻击者利用TCP中的“三次握手”来建立可信的连接。当最初连接打开时,它会消耗受害者计算机上的资源,直到它用尽连接或产生其他问题。2.防御,1)当客户端发出sync,服务器返回 特殊的sync+ack,但不等待2)该特殊的sync是个用时间计算的临时令牌,10分钟内有效3)当客户端返回 sync+ack,只需看看 sync-1是否是有效的临时令牌,如果是则连接,不是不管。
    核心 临时令牌 临时令牌 临时令牌 临时令牌,公钥,私钥 与时间相关的临时令牌
     
    展开全文
  • 泛型一个安全机制,早期没有泛型,集合添加元素时,添加类型的元素只有代码编写者自己清楚,往里传类型只有他知道,别人用就很容易传错对象。所以,泛型出现,在定义集合类时,要显示地说明我这容器里到底该放...

    泛型

    泛型是一个安全机制,早期没有泛型,集合添加元素时,添加啥类型的元素只有代码编写者自己清楚,往里传啥类型只有他知道,别人用就很容易传错对象。所以,泛型出现,在定义集合类时,要显示地说明我这容器里到底该放啥类型地对象,类型用 一堆尖括号括起来:"<>",如创建一个ArrayList集合存数组:

    //集合类在使用时指定元素类型
    ArraryLsit<String> al = new ArraryLsit<String>();
    //jdk1.7之后,可以省略后面的<>里面的String
    ArraryLsit<String> al = new ArraryLsit<>();
    

    但泛型的应用不止于此,我们也可以指定泛型在自己的类中,方法中,
    接口中,程序扩展性变得极强

    • 定义在接口上的泛型
    /*泛型接口*/
    interface Inter<T>{
    	public void show(T t);
    }
    //可以在实现接口时指定操作类型
    class InterImpl_2 implements Inter<String>{
    	public void show(String s) {
    		System.out.println(s);
    	}
    }
    //也可以不指定操作类型,这就和集合框架里类的使用非常相似了
    class InterImpl<T> implements Inter<T>{
    	public void show(T t) {
    		System.out.println("show:"+t);
    	}
    }
    public class GenericDemo {
    	public static void main(String[] args) {
    		InterImpl_2 ii =  new InterImpl_2();
    		ii.show("omgomgomgomgomg");
    		InterImpl<String> i = new InterImpl<String>();
    		i.show("fagarg");
    	}
    }
    
    • 定义在类和方法上的泛型
    /*泛型方法*/
    //泛型类,可以看到其局限性,类一创建,T的类型就确定了,不同函数接收的类型也就确定了,如果想要一个函数能接收不同类型参数,就要用到泛型方法
    class Show<T> {
    	public void show(T t) {
    		System.out.println(t);
    	}
    	public void print() {
    		
    	}
    }
    
    //泛型方法
    class GShow{
    	public <T> void show(T t) {
    		System.out.println("show:"+t);
    	}
    	public <T> void print(T t) {
    		System.out.println("print:"+t);
    	}
    	//泛型还能定义在静态方法上,但静态方法要用泛型的话只能另外定义,不能用定义在类上的泛型,原因很明显,类上的泛型只有运行时才确定下来
    	public static <T> void static_show(T t){
    		System.out.println("static show:"+t);
    	}
    }
    public class GenericDmeo {
    	public static void main(String[] args) {
    		GShow show = new GShow();
    		show.show("s");
    		show.show(100);
    		show.print("fasdga");
    		show.print(9999);
    		GShow.static_show("fag");
    		GShow.static_show(83515);
    		
    	}
    }
    
    
    展开全文
  • 许久不见,该聊些了,话不多说,先来个五毛钱得,聊一聊胡小毛的Android逆向之路吧,当然,你们想知道的一定不是走了这么远的路,胡小毛今年是不是又长高了,那么我们开始看看他又Get到的新zishi吧(本文内容为...

    0x00、今天我们聊什么?

      今天我们聊些啥?许久不见,是该聊些啥了,话不多说,先来个五毛钱得,聊一聊胡小毛Android逆向之路吧,当然,你们想知道的一定不是走了这么远的路,胡小毛今年是不是又长高了,那么我们开始看看他又Get到的新zishi吧(本文内容为MaoXH总结,喜大奔普,胡小毛的新id:MaoXH)。

    62e41da6ae83c7743be4912686284b36.png

    0x01、切入正题,apk文件结构

        切入正题,胡小毛在学习Android逆向的过程中又有所总结,先来看看apk文件结构:

        首先拿一款普通app讲解,用zip压缩文件打开会出现以下文件夹:

    a909ca9f1983c75808422d4f6fbfc4b5.png

    • Assets目录用来存放需要打包到 Android 应用程序的静态资源文件,例如图片资源文件、JSON 配置文件、渠道配置文件、二进制数据文件、HTML5离线资源文件等。与res/raw 目录不同的是,assets 目录支持任意深度的子目录,同时该目录下面的文件不会生成资源ID

    • Lib目录存放的是当前app所用得到的so动态链接库文件,so文件就是利用底层的cc++代码实现的。

    • META-INF目录存放的是所用到的证书签名文件,包括:MANIFEST.MF(摘要文件)、CERT.SFCERT.RSA。其中MANIFEST.MF文件是对每个文件的SHA-256-DigestCERT.SF是对每个文件的头3行进行SHA-256-DigestCERT.RSA这个文件保存了签名和公钥证书。

    • Res目录放应用的资源文件,包括图片资源、字符串资源、颜色资源、尺寸资源等,这个目录下面的资源都会出现在资源清单文件 R.java 的索引中。

    • AndroidManifest.xmlAndroid项目的系统清单文件,Android应用的四大组件(ActivityServiceBroadcastReceiver ContentProvider )均在此配置和声明。

    • classes.dex:应用程序的可执行文件。若APP有多个dex,是因为当前的方法数超过65535,进行了分包处理。如果未超过,则只有一个dexAndroid的所有代码都集中在此。可以通过反编译工具dex2jar转化成jar包,再通过jd-gui查看其代码。

    • resources.arsc:资源索引表,用来描述具有ID值的资源的配置信息。

    0x02、开始正戏,apk打包流程

       看完了上面的apk的文件结构,我就要开始我们的正戏了,首先是“小二,上图~,上长图~

    放心,不是表情包690173a356b305fd36af4cfa1a0a3aec.png

    9d2d378f098beca0088008d4457898fc.png

    上图就是一个apk包的细化打包流程,包含了每个细化过程可能会用到的工具,各位看官可多注意橘色标注字体部分。然后我们再看一下应用安装涉及到的如下几个目录:

    system/app ---------------系统自带的应用程序,获得adb root权限才能删除

    data/app  ---------------用户程序安装的目录。安装时把apk文件复制到此目录

    data/data ---------------存放应用程序的数据

    data/dalvik-cache--------apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)

    安装过程具体表现为:

    复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并在data/data目录下创建对应的应用数据目录。

    对应的卸载过程为:

    删除安装过程中在上述三个目录下创建的文件及目录。

    0x03、正戏ING,虚拟机

         有事好好说,没事干啥提虚拟机啊,胡小毛也是搞得我晕头转向,莫慌,仔细瞧瞧,发现小毛得学习思路还是可圈可点得。上面提到得dalvik虚拟机,可能并未引起各位看官的注意力,所以这边再多唠叨一遍。

    首先是java虚拟机,我们知道java语言有一个很重要的特性就是跨平台可以做到一次编译,到处运行的效果。怎样才能有这样的特性呢?主要就是依靠的java虚拟机(JVM)。当我们编写好一个java程序之后如test.java。然后将其编译为一个字节码文件test.class。在java虚拟机上运行这个字节码文件,java虚拟机就可以把字节码文件解释成具体平台上的机器指令执行,而实现了java的跨平台特性。

    然后我们需要知道的是Android是基于Dalvik虚拟机(DVM)art虚拟机(aot机制)的。Dalvik虚拟机主要应用于Android5.0及以前,而ART(Android Runtime)虚拟机是 Android 4.4 发布的,用来替换 Dalvik 虚拟机,Android 4.4 默认采用 DVM,但是可以选择使用 ART。在 Android 5.0 版本中默认使用 ART,DVM 从此退出历史舞台。

    具体可参考:https://www.jianshu.com/p/a37d3be0a341。

    而JDM、DVM、ART之间的关系可参考下图:

    ea70f696b8a9e56ee016fec4a2a73fa2.png

    0x04、拓展知识,Android签名机制

      还记得之前提到的META-INF目录吗?里面的签名证书文件就是对apk进行签名过程中生成,apk签名过程可以总结如下:

     1、对Apk中的每个文件做一次算法(数据SHA1摘要+Base64编码),保存到MANIFEST.MF文件中,具体作法可以理解为程序遍历APK包中的所有文件,对非目录、非签名文件的文件,逐个用SHA1生成摘要信息,再用Base64进行编码后保存。基于此文件的安全机制可以进行文件完整性校验:如果APK包的文件被修改,在APK安装校验时,被修改的文件与MANIFEST.MF的校验信息不同,程序将无法正常安装,同理CERT.SF和CERT.RSA文件同样应用于apk的完整性校验。    

    MANIFEST.MF文件格式如下:

    877ecff3ac0bd76fc62dfc66fa6c4c97.png        2、对MANIFEST.MF整个文件做一次算法(数据SHA1摘要+Base64编码),存放到CERT.SF文件的头属性中,再对MANIFEST.MF文件中各个属性块做一次算法(数据SHA1摘要+Base64编码),存到到一个属性块中。

    CERT.SF文件格式如下:607a98d500f48aedc1e58601ae2fabd8.png       3、对CERT.SF文件做签名,内容存档到CERT.RSA中,所以CERT.RSA是一个加密文件,所以它长的很难看,不信的自己去看:

    db110b1bcbe1d0616e2b9793626c26e0.png

    了解了上面apk的签名过程,我们可以深入思考一下下面这段话(某大神原话):

    假如我们是一个非法者,想要篡改apk内容,我们怎么做呢?如果我们只把原文件改动了(比如加入了自己的病毒代码),那么重新打包后系统就会认为文件的SHA1-Base64值和MF的不一致导致安装失败,既然这样,那我们就改一下MF让他们一致呗?如果只是这样那么系统就会发现MF文件的内容的SHA1-Base64与SF不一致,还是会安装失败,既然这样,那我们就改一下SF和MF一致呗?如果这么做了,系统就会发现RSA解密后的值和SF的SHA1不一致,安装失败。那么我们让加密后的值和SF的SHA1一致就好了呗,但是呢,这个用来签名加密的是私钥,公钥随便玩,但是私钥我们却没有,所以没法做到一致。所以说上面的过程环环相扣,最后指向了RSA非对称加密的保证。

    最后我们必须要知道签名机制只是保证了apk的完整性,具体是不是自己的apk包,系统并不知道,所以对于上面的通过apk签名进行完整性校验,攻击者可以通过直接重签名,让所有的信息都一致就能绕过校验,这样重签名后就可以安装了。所以对于应用签名是否被篡改,那就是另一门学问了……

    参考链接:

    1、https://blog.csdn.net/loongago/article/details/89646920

    2、https://www.jianshu.com/p/a37d3be0a341

    3、https://blog.csdn.net/lostinai/article/details/54694564?utm_source=blogxgwz3

    7fb3860bccb8948a6c92cb68288c30df.png

    展开全文
  • 许久不见,该聊些了,话不多说,先来个五毛钱得,聊一聊胡小毛的Android逆向之路吧,当然,你们想知道的一定不是走了这么远的路,胡小毛今年是不是又长高了,那么我们开始看看他又Get到的新zishi吧(本文内容为...

    0x00、今天我们聊什么?

      今天我们聊些啥?许久不见,是该聊些啥了,话不多说,先来个五毛钱得,聊一聊胡小毛Android逆向之路吧,当然,你们想知道的一定不是走了这么远的路,胡小毛今年是不是又长高了,那么我们开始看看他又Get到的新zishi吧(本文内容为MaoXH总结,喜大奔普,胡小毛的新id:MaoXH)。

    2b0e4c93c62013d7ed550663b4b78aed.png

    0x01、切入正题,apk文件结构

        切入正题,胡小毛在学习Android逆向的过程中又有所总结,先来看看apk文件结构:

        首先拿一款普通app讲解,用zip压缩文件打开会出现以下文件夹:

    5f25598029270da06e35eabe98c6ae55.png

    • Assets目录用来存放需要打包到 Android 应用程序的静态资源文件,例如图片资源文件、JSON 配置文件、渠道配置文件、二进制数据文件、HTML5离线资源文件等。与res/raw 目录不同的是,assets 目录支持任意深度的子目录,同时该目录下面的文件不会生成资源ID

    • Lib目录存放的是当前app所用得到的so动态链接库文件,so文件就是利用底层的cc++代码实现的。

    • META-INF目录存放的是所用到的证书签名文件,包括:MANIFEST.MF(摘要文件)、CERT.SFCERT.RSA。其中MANIFEST.MF文件是对每个文件的SHA-256-DigestCERT.SF是对每个文件的头3行进行SHA-256-DigestCERT.RSA这个文件保存了签名和公钥证书。

    • Res目录放应用的资源文件,包括图片资源、字符串资源、颜色资源、尺寸资源等,这个目录下面的资源都会出现在资源清单文件 R.java 的索引中。

    • AndroidManifest.xmlAndroid项目的系统清单文件,Android应用的四大组件(ActivityServiceBroadcastReceiver ContentProvider )均在此配置和声明。

    • classes.dex:应用程序的可执行文件。若APP有多个dex,是因为当前的方法数超过65535,进行了分包处理。如果未超过,则只有一个dexAndroid的所有代码都集中在此。可以通过反编译工具dex2jar转化成jar包,再通过jd-gui查看其代码。

    • resources.arsc:资源索引表,用来描述具有ID值的资源的配置信息。

    0x02、开始正戏,apk打包流程

       看完了上面的apk的文件结构,我就要开始我们的正戏了,首先是“小二,上图~,上长图~

    放心,不是表情包36ed8402e4c30ac4d59ac97259f5e609.png

    6df821e37b6333ed5defa3a82e497777.png

    上图就是一个apk包的细化打包流程,包含了每个细化过程可能会用到的工具,各位看官可多注意橘色标注字体部分。然后我们再看一下应用安装涉及到的如下几个目录:

    system/app ---------------系统自带的应用程序,获得adb root权限才能删除

    data/app  ---------------用户程序安装的目录。安装时把apk文件复制到此目录

    data/data ---------------存放应用程序的数据

    data/dalvik-cache--------apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)

    安装过程具体表现为:

    复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并在data/data目录下创建对应的应用数据目录。

    对应的卸载过程为:

    删除安装过程中在上述三个目录下创建的文件及目录。

    0x03、正戏ING,虚拟机

         有事好好说,没事干啥提虚拟机啊,胡小毛也是搞得我晕头转向,莫慌,仔细瞧瞧,发现小毛得学习思路还是可圈可点得。上面提到得dalvik虚拟机,可能并未引起各位看官的注意力,所以这边再多唠叨一遍。

    首先是java虚拟机,我们知道java语言有一个很重要的特性就是跨平台可以做到一次编译,到处运行的效果。怎样才能有这样的特性呢?主要就是依靠的java虚拟机(JVM)。当我们编写好一个java程序之后如test.java。然后将其编译为一个字节码文件test.class。在java虚拟机上运行这个字节码文件,java虚拟机就可以把字节码文件解释成具体平台上的机器指令执行,而实现了java的跨平台特性。

    然后我们需要知道的是Android是基于Dalvik虚拟机(DVM)art虚拟机(aot机制)的。Dalvik虚拟机主要应用于Android5.0及以前,而ART(Android Runtime)虚拟机是 Android 4.4 发布的,用来替换 Dalvik 虚拟机,Android 4.4 默认采用 DVM,但是可以选择使用 ART。在 Android 5.0 版本中默认使用 ART,DVM 从此退出历史舞台。

    具体可参考:https://www.jianshu.com/p/a37d3be0a341。

    而JDM、DVM、ART之间的关系可参考下图:

    0204694fec560a294b1e71c0459d2c8e.png

    0x04、拓展知识,Android签名机制

      还记得之前提到的META-INF目录吗?里面的签名证书文件就是对apk进行签名过程中生成,apk签名过程可以总结如下:

     1、对Apk中的每个文件做一次算法(数据SHA1摘要+Base64编码),保存到MANIFEST.MF文件中,具体作法可以理解为程序遍历APK包中的所有文件,对非目录、非签名文件的文件,逐个用SHA1生成摘要信息,再用Base64进行编码后保存。基于此文件的安全机制可以进行文件完整性校验:如果APK包的文件被修改,在APK安装校验时,被修改的文件与MANIFEST.MF的校验信息不同,程序将无法正常安装,同理CERT.SF和CERT.RSA文件同样应用于apk的完整性校验。    

    MANIFEST.MF文件格式如下:

    59e1de2ffbb62230343aa6c2d0b23006.png        2、对MANIFEST.MF整个文件做一次算法(数据SHA1摘要+Base64编码),存放到CERT.SF文件的头属性中,再对MANIFEST.MF文件中各个属性块做一次算法(数据SHA1摘要+Base64编码),存到到一个属性块中。

    CERT.SF文件格式如下:13e11fbf736c265c36cc902995394362.png       3、对CERT.SF文件做签名,内容存档到CERT.RSA中,所以CERT.RSA是一个加密文件,所以它长的很难看,不信的自己去看:

    8513e01d215d9ea9fbb5949e010763df.png

    了解了上面apk的签名过程,我们可以深入思考一下下面这段话(某大神原话):

    假如我们是一个非法者,想要篡改apk内容,我们怎么做呢?如果我们只把原文件改动了(比如加入了自己的病毒代码),那么重新打包后系统就会认为文件的SHA1-Base64值和MF的不一致导致安装失败,既然这样,那我们就改一下MF让他们一致呗?如果只是这样那么系统就会发现MF文件的内容的SHA1-Base64与SF不一致,还是会安装失败,既然这样,那我们就改一下SF和MF一致呗?如果这么做了,系统就会发现RSA解密后的值和SF的SHA1不一致,安装失败。那么我们让加密后的值和SF的SHA1一致就好了呗,但是呢,这个用来签名加密的是私钥,公钥随便玩,但是私钥我们却没有,所以没法做到一致。所以说上面的过程环环相扣,最后指向了RSA非对称加密的保证。

    最后我们必须要知道签名机制只是保证了apk的完整性,具体是不是自己的apk包,系统并不知道,所以对于上面的通过apk签名进行完整性校验,攻击者可以通过直接重签名,让所有的信息都一致就能绕过校验,这样重签名后就可以安装了。所以对于应用签名是否被篡改,那就是另一门学问了……

    参考链接:

    1、https://blog.csdn.net/loongago/article/details/89646920

    2、https://www.jianshu.com/p/a37d3be0a341

    3、https://blog.csdn.net/lostinai/article/details/54694564?utm_source=blogxgwz3

    c2d295c98112a066d98818926396854b.png

    展开全文
  • etcd是啥

    2020-10-29 20:34:59
    etcd一个golang编写的分布式、高可用的一致性键值存储系统,etcd可以用于存储关键数据和实现分布式调度,etcd基于Raft协议,通过... 安全:可选SSL客户认证机制。 快速:每个实例每秒支持一千次写操作。 可信:...
  • 目录1. 基础概念1.1 并发与并行1.2 进程与线程2. 多线程2.1 创建多线程的方式-Thread类2.2 创建多线程的方式-Runnable接口2.3 线程池3. 线程安全问题3.1 线程安全问题的产生与实现3.2 线程安全...一听起来,好像
  • http超文本传输协议,信息明文传输,https 则具有安全性的ssl加密传输协议http和https使用的完全不同的连接方式用的端口也不一样,前者80,后者443。http的连接很简单,无状态的HTTPS协议由SSL+HTTP...
  • 最近在做公司的一个项目,实现SAP与.Net平台下的一个数据交互,由于所谓的“技术大牛”的RFC平台不好实现等为由摒弃了RFC的传输机制(我想说的我10分钟就可以搭建起来,不鄙视了,boss说就是),转而以...
  • 啥是云锁 云锁其实个服务器安全软件,主业也不是反爬虫,不过有一条可以防止cc攻击,而爬虫行为就像频次不高的cc攻击,因而直接请求目标站并不能返回目标内容。 最近正好做了个需求抓取...
  • 它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。与类、接口、枚举在同一个层次,可以理解为java 的一个类型。Java中的类、方法、变量、参数、...
  • 友元类(Friend)是啥

    2016-09-10 07:11:29
    友元指: 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。...友元的作用提高了程序的运行效率(即减少了类型检查和安全
  • 同时,由于ThreadLocal变量的线程私有性,故不存在并发线程安全的问题。 要满足上述特性,需要解决3个问题: 与线程绑定,实现私有性; 提供合适的容器,方便变量的存取; 设计合理的垃圾回收机制,避免内存...
  • zabbix什么?主要用来做

    千次阅读 2020-03-27 11:12:51
    zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可选组件zabbix agent。 zabbix server可以通过...
  • 2、C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了。 3、在速度上,C语言编写的程序要优于Java 4、C语言...
  • Java 泛型(generics) JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型...
  • 最近一直研究SOAP消息的安全通信方式,没在网上搜到啥靠谱的,就一步一步摸索,终于成功了,把过程整理出来,供大家参考。...废话不多说,关于怎么用Axis2发布Web Service,WS-Security是啥,什么是Rampart
  • HashMap原理机制自问自答

    千次阅读 2013-11-15 16:47:34
    (1)HashMap是啥? HashMap是基于哈希表的Map实现,能够满足所有的Map操作,同时支持空的key和空的value,非线程安全的, 不保证map中键值的顺序,特别是不保证顺序是不变的(翻译自java 源代码)。   ...
  • HashMap原理机制

    2017-03-01 16:37:15
    (1)HashMap是啥? HashMap是基于哈希表的Map实现,能够满足所有的Map操作,同时支持空的key和空的value,非线程安全的, 不保证map中键值的顺序,特别是不保证顺序是不变的(翻译自Java 源代码)。   ...
  • 双亲委托机制作用是啥,举个栗子: 能不能自己写个类叫java.lang.System? —不能,为啥呢? 为了系统类的安全,类似“ java.lang.Object”这种核心类,jvm需要保证他们生成的对象都会被认定为同一种类型。即...
  • 概述随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来越高:配置修改后实时生效,分环境、分集群管理配置,代码安全、审核机制……在这样的大...
  • 前言这个前言其实也没好写的,主要想要和以前的文章风格保持一致吧,哈哈,先皮一吧。其实不是啦,好,开始进入正题。hadoop一个分布式文件系统...分别为:心跳机制,安全机制,机架策略(副本存放策略),负...
  • 浅谈web前端安全

    千次阅读 2017-11-30 18:06:17
    单纯地在你的客户端弹出信息只是类似于迫使你在自己的房间脱衣服...如同标题所写的,今天要聊的WEB安全机制,但这“前端”二字倒是说的狭义了些,安全的问题大部分还是更依赖于后端的过滤和拦截措施,后端的朋友如果
  • 大概了解下加解密机制,以下自己对一些概念的理解。 加密: 加密就是为了让别人看不懂,加密前的东东称为明文,加密后的为密文。例如我把写给susan的信进行了加密,明文:12,经过加密后变成了:56,这就是加密...
  • session和cookie自动登录机制 cookie浏览器支持的一种本地存储方式,以dict存 为要cookie? http协议无状态协议,也就是服务器不管哪个浏览器请求的 两个请求之间没有联系的 某些如某宝上,请求之间有...
  • 其实只要有锁的机制,可以通过锁实现线程安全,我们在读写HashMap对象的时候加锁,以保障这个对象的线程安全,但不代表HashMap本身线程安全的,因为外力(你自己加的锁)使然。为不在HashMap内部加锁让它变成...
  • C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植。Java采用Unicode字符集,C语言通常采用的ASCII字符集,A—65,a—97。C语言的变量可...
  • HashMap线程不安全的体现

    千次阅读 2018-07-15 20:02:01
    其实只要有锁的机制,可以通过锁实现线程安全,我们在读写HashMap对象的时候加锁,以保障这个对象的线程安全,但不代表HashMap本身线程安全的,因为外力(你自己加的锁)使然。 为不在HashMap内部加锁让它...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 152
精华内容 60
关键字:

安全机制是啥