总结
文章平均质量分 73
赛小文
高手和菜鸟的区别,是高手总会合理的整合利用现有的资源和规则而菜鸟总想把事情控制在自己熟知的领域。
展开
-
数字签名技术 -- DSA算法
DSA算法是1991年美国国家标准技术协会公布的数字签名标准(DSS)的核心算法。本质上是ElGamal数字签名算法,仅能与SHA系列算法结合,没有相应的MD融合算法。DSA算法和RSA算法的异同DSA算法是DSS技术的核心算法,与RSA算法的异同如下:二者都是数字签名算法中的重要组成,缺一不可;DSA算法仅仅包含数字签名算法,没有密钥信息;DSA算法产生的数字证书无法进行加密通信,HTTPS原创 2017-04-14 10:30:53 · 4397 阅读 · 0 评论 -
对称加密技术 - DES系列
DES算法和DESSede算法统称DES系列算法,是对称加密算法领域的经典加密算法。DESSede使用三次迭代,又称3DES,增加算法安全性。DES算法是众多对称加密算法的基础,很多算法都是基于该算法演变而来。DES家族发展历史1973年,美国国家标准计算研究所(NIST)征求对称加密算法方案,IBM提交了自己的算法;1977年,IBM的算法(Luciffer算法)被正式采用,成为数据加密标准:原创 2017-04-05 14:12:05 · 832 阅读 · 0 评论 -
非对称加密技术 -- RSA算法
RSA算法是流行最广泛的非对称加密算法,也是唯一的基于因式分解的非对称加密算法。相比DH算法,RSA算法更重要。发展历史1978年MIT三位学者提出对称加密算法:RSA算法,随后RSA算法被广泛应用。非对称加密算法的破解一直受人关注:1999年,RSA-144被成功破解;2002年,RSA-158也被成功破解;应用场景和特点RSA的应用场景和DH算法一样,密钥协商。但是RSA算法比DH算法简单原创 2017-04-13 09:57:05 · 1012 阅读 · 0 评论 -
非对称加密技术 - DH算法
DH算法是非对称加密算法的鼻祖,为非对称加密算法奠定了基础。主要用途是进行密钥交换。DH算法历史1976年非对称加密算法思想被提出,但是当时并没有给出具体算法和方案,因为当时没有研究出单向函数(也就是信息摘要算法还没出现),但是IEEE的期刊(作者:W.Diffie和M.Hellman)中给出了通信时双方如何通过信息交换协商密钥的算法,也就是DH算法。DH算法的目的仅在于双方在安全的环境下协商一个加原创 2017-04-11 10:15:56 · 2157 阅读 · 0 评论 -
对称数据加密技术
对称数据加密技术是当前应用最广泛、使用频率最高的加密技术,对称加密算法是双向可逆的,加密密钥和解密密钥相同是最大的特点。对称加密算法由古典加密算法演变而来,大部分加密算法的解密算法是逆运算。特点对称加密算法有20多种,对称加密算法有如下特点:加密和解密密钥是一致的;安全程度依赖于密钥长度;每种算法对密钥的长度是有一定要求的;大部分是分组加密算法,所以算法需要指定工作模式、填充类型。一般对称原创 2017-04-01 09:51:48 · 2816 阅读 · 0 评论 -
Java Web乱码分析及解决方案(三)——响应乱码
响应乱码 请求乱码是客户端向服务器发送数据时,服务器解码错误。响应乱码则是服务器处理完请求后,输出到浏览器的数据被浏览器错误解码造成的显示乱码,这类乱码是最常见也是最直接的。造成这类乱码的情况最直接的一点就是服务器对Content-Type响应报文设置错误。页面编码: 我们的页面一般来说,可能是通过下面两种方式生成的,也就是常说的静态页面和动态页面: (1原创 2015-07-22 10:33:38 · 3685 阅读 · 2 评论 -
信息摘要技术 - 其他信息摘要算法
信息摘要算法很多,主要的MD、MAC、SHA算法很常用,但是还有一些其他信息摘要算法,这些摘要算法JDK都没有提供。RipeMD1996年提出,在分析MD4、MD5的缺陷基础上做的改进算法,有4个标准和2个融合产物,区别是产生的摘要长度区别。RipeMD128,产生128位摘要信息;RipeMD160,产生160位摘要信息;RipeMD256,产生256位摘要信息;RipeMD320,产生3原创 2017-03-31 18:42:07 · 813 阅读 · 0 评论 -
非对称加密技术介绍
对称加密技术被称为初等加密技术,非对称加密技术即为高级数据加密技术,安全性更高,但是效率要低。特点非对称加密技术一般有两把密钥:公钥和私钥 公钥用来加密,私钥用来解密是非对称加密技术的特点;优势:安全,劣势:效率低,极端场景下比对称加密技术能慢1000倍;家族发展历史对称加密技术解决了一个信息加密技术问题,但是对称加密技术有一个很大的问题就是密钥管理问题,这是一个技术和管理手段并行才能解决的难原创 2017-04-10 14:46:01 · 2814 阅读 · 0 评论 -
信息摘要技术 - MAC系列
MAC算法综合了MD和SHA算法的特性,和MD、SHA算法类似。MAC算法家族发展历史MAC算法是含有密钥的散列算法,兼容MD和SHA算法,在此基础上添加了密钥支持,因此也被称为HMAC算法,定义在RFC 2014中,分为两大分支MD和SHA分支:MD分支:HmacMD2、HmacMD4、HmacMD5;SHA分支:HmacSHA1、HmacSHA256、HmacSHA384、HmacSHA51原创 2017-03-30 14:19:31 · 538 阅读 · 0 评论 -
信息摘要技术 - Base64技术
Base64不是加密算法,不适合用在加密场景下,但是Base64的效率不错适合用在一些特殊场景下,Base64不是信息摘要算法,但是比较适合整理在信息摘要技术类中。 Base64的产生是解决电子邮件传输问题的,因为最早的电子邮件只允许ASCII码字符,这样如果传输非ASCII码内容,很可能发生乱码; Base64是双向的,即可以解码;算法定义Base64算法是一种基于64个字符的编码原创 2017-03-27 14:47:58 · 947 阅读 · 0 评论 -
信息摘要技术 - SHA系列
SHA算法分为两个分支:SHA-1和SHA-2,其中SHA-2包括SHA-224、SHA-256、SHA-384和SHA-512,SHA算法和MD算法类似,也是产生一个固定的散列码。SHA算法家族发展历史SHA算法被广泛的认为是MD5算法的继任者,由美国国家安全局(NSA)设计,经过美国标准与技术研究院(NIST)发布,发布历史比MD算法晚,相对安全:1993年,NIST发布SHA-0算法:FIP原创 2017-03-29 10:19:17 · 698 阅读 · 0 评论 -
对称加密技术 - DES系列的Java用法
Java中的用法Java在JDK 6中仅仅提供了针对56位密钥长度的DES算法实现,提供了针对112位、168位的3DES的算法实现,使用起来不复杂,主要分为如3个步骤:构建密钥:使用KeyGenerator,这个步骤对称加密算法和非对称加密算法都需要;构建DES专用的SecretKey:DES和3DES构建SecretKey的时候略有不同,这步是针对存储下来的密钥进行处理;进行加解密:要注意原创 2017-04-06 11:04:52 · 1046 阅读 · 0 评论 -
对称加密技术 - AES加密
AES发展历史1997年NIST发起了整机替代DES算法的活动:高级数据加密标准(Advanced Encryption Standard);NIST要求算法比3DES块,安全性高,具有128位分组长度,支持128、192、256位长度的密钥;2000年Rijndael算法当选AES算法标准;AES:密钥建立时间短、灵敏性好、内存需求低,被广泛应用;AES跟进密钥长度分为AES-128、A原创 2017-04-06 16:04:57 · 621 阅读 · 0 评论 -
关于升级 Dubbo 版本到 2.6.5 后启动失败的“坑”
问题现象Dubbo从低版本升级到2.6.5版本后,启动失败,报错如下:05-Mar-2019 16:02:25.204 ?? [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to...原创 2019-03-05 18:11:09 · 3851 阅读 · 1 评论 -
Elastic-job 启动“假死”的问题分析
Elastic-job 启动“假死”的问题分析问题记录最近项目引入Elastic Job实现定时任务的分布式调度。引入的版本2.1.5,加入相关的job配置后启动项目,主线程假死,不进行后续逻辑处理和日志输出。输出的日志如下:[INFO] [RMI TCP Connection(2)-127.0.0.1] [2018-10-10 15:53:27.049] [] [StdScheduler...原创 2018-10-10 19:28:52 · 8340 阅读 · 0 评论 -
Java源码:String类
1.分类基本属性:String最终的属性就一个char[] value;构造方法区域:比较复杂的就是通过unicode码和byte[]构造;字符串比较:是否相等、大小(排序);查询:indexOf、startsWith、endWith、contains截取:subString、工具方法:格式化打印、unicode 码点相关的位操作方法;2. 基础面向对象的封装思想为什原创 2018-02-01 21:22:56 · 563 阅读 · 0 评论 -
InnoDB的索引
索引基本上是数据库的核心,是数据库性能的关键,通过索引可以快速查询、定位到数据,Sql优化的一大原则是:数据尽量走索引,减少全表扫面。减少了全表扫面也就减少了磁盘IO。但是有一误区,并不是走了索引就一定快。InnoDB的表结构决定了,InnoDB属于索引组织表结构,InnoDB的索引是重中之重。分类InnoDB的索引从功能上分为两类:聚集索引:主键索引,这类索引可以直接定位到数据。辅助索引:非主原创 2017-06-13 11:50:17 · 545 阅读 · 0 评论 -
InnoDB 的表结构
InnoDB是索引组织表,这种结构的存储是根据主键顺序组织的。InnoDB要求每张表都必须有一个主键,如果没有InnoDB会自己确定或添加一个主键 InnoDB的主键索引也称为聚集索引,是一个核心的索引,聚集索引采用B+ 树结构,每个索引项都包含了row数据,也就是通过索引可以定义到具体的row数据,无需二次IO。索引组织表的主键确定主键是索引组织表的核心,表数据按照主键顺序存储,InnoDB原创 2017-06-09 17:07:27 · 837 阅读 · 0 评论 -
实验 - MySql的事务隔离级别
通过百度搜索:“MySql 事务隔离级别”,“InnoDB 事务隔离级别” 发现很多的文章“特点”如下:重点在于解释:不可重复读和幻读的区别;大部分结论是:在repeatable read的隔离级别下,解决了不可重复读的问题,但是存在幻读问题。正确的分析可以参考:Innodb中的事务隔离级别和锁的关系关于脏读、幻读、不可重复、丢失更新,可做如下实验。强调仅限MySql环境,各类数据库的结论推测原创 2017-06-21 09:58:52 · 708 阅读 · 0 评论 -
InnoDB 锁
锁是InnoDB保障事务隔离性的重要手段,各个存储引擎以及DB的锁的实现是不同的。MySql中,MyISAM采用表锁,InnoDB基于行锁。Sql Server 2005支持乐观锁和悲观锁并发;InnoDB提供一致性的非锁定读和行级锁,类似Oracle;Lock和Latchlatch为轻量级锁,称为闩锁,latch类似Java的synchronize,但是Lock更宏观,latch可以认为是原创 2017-06-20 11:03:20 · 634 阅读 · 0 评论 -
MySql - InnoDB 的文件
MySql和InnoDB包括以下文件:参数文件:也叫配置文件,提供了启动参数,主要是my.cnf文件;日志文件:记录MySql运行时的各种行为;socket文件:Mysql支持Unix套接字方式连接;pid文件:Mysql将自己的进程号写入pid文件中;MySql表结构文件:MySql的表结构独立于存储引擎定义为frm文件,新版本MySql的表结构文件可以和存储引擎文件放一起;存储引擎文原创 2017-06-08 10:22:24 · 695 阅读 · 0 评论 -
MySql - InnoDB数据库引擎
MySql数据库的结构Mysql采用单进程多线程系统结构,Mysql采用插件结构,将对数据库表的操作和管理交个数据库引擎完成。核心组件如下图: Connectors:提供client及各种API方式便于编程;Connection Pool:连接池,管理各种连接;Sql Interface:Parser:Optimlzer:查询优化器,优化各种Sql查询,提升查询速度;Cache & Buf原创 2017-06-06 20:34:52 · 683 阅读 · 0 评论 -
MySql - InnoDB 存储引擎
InnoDB存储引擎是MySql第一个完整支持事务的存储引擎,最早由第三方公司开发,并不是MySql的官方引擎,在MySql 5.6后被作为默认引擎推出。特点InnoDB设计是为OLTP应用设计,支持事务是最大的特点,此外还有如下特点:事务:完成的ACID及4级事务隔离级别支持;基于行锁设计:支持行锁、表锁;支持外键:可以设定外键,及外键的完整性约束;支持MVVC:多版本并发控制技术,实现了原创 2017-06-07 14:47:14 · 488 阅读 · 0 评论 -
InnoDB 事务
事务是数据库的一大特征,也是InnoDB不同于Mysql其他存储引擎的重要特点。InnoDB可以实现ISO定义的标准事务4个事务隔离级别。ACID特性事务具备ACID特性,ACID特性可以很好的保障数据的一致性、完整性。ACID特性放映到事务上就是:事务中的Sql要么全做,要么全不做,不能出现部分生效的情况。原子性:一系列操作要么都生效,要么都不生效;一致性:数据是最终一致的,满足约束要求的;原创 2017-06-19 11:09:46 · 616 阅读 · 0 评论 -
信息摘要技术及算法介绍
数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。 数据摘要算法也被称为哈希(Hash)算法、散列算法;特点消息摘要算法(杂凑算法,哈希算法)的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。1.无论输入的消息原创 2017-03-22 11:46:15 · 7301 阅读 · 0 评论 -
Nexus私服启动失败
Nexus服务器被Reboot了,重启后,Neuxs伺服器无法启动。 使用.nexus start命令后,显示Nexus启动成功,但是访问Web页面后Nexus进程就停了。 查询$NEXUS_HOME/logs/wrapper.log日志,发现会报Unsupported marjor.minoor version 5.0错误,该错误是因为低版本JDK无法加载高版本JDK引发的。原创 2015-10-20 11:45:47 · 9204 阅读 · 0 评论 -
对称加密技术 - PBE系列
PBE加密跳出了DES和AES的加密模式,综合对称加密、信息摘要算法的优势,形成了一个对称加密的特例。其实PBE加密并不是独创了一个新的算法,而是先使用MD(SHA)系列算法将口令和slat计算出一个key出来,然后用这个key作为DES(AES)的加解密key,这样DES和AES的key不便于记忆且需要计算的问题就解决了。算法特点PBE算法,全称 password based encrytpion原创 2017-04-07 10:35:34 · 839 阅读 · 0 评论 -
JDK1.6和JDK1.7共存和Eclipse出错
背景: JDK 都已经发布到1.8版本了,作为一个“怀旧”的programer,我对新版本一直没什么关注。一直都是项目需要哪个版本就用哪个版本,而且我一直认为如果项目太过于依赖JDK版本的话,那开发和设计上也就太shit了!这几天由于一些原因需要切换老版本的项目去做些东西。老版本(称为V1)使用的是JDK1.6开发的,新版本(称为V2)使用的是JDK1.7。现在需要两个版本的J原创 2015-05-23 15:42:00 · 16773 阅读 · 1 评论 -
文档布局与定位梳理
背景: Web Excel项目在继续,坑爹的项目,从前到后都需要我搞(o(╯□╰)o)!一会儿写JS一会儿写Java,还得附带美工、产品的技能!思维真的难以转换,经常在JS中写int num =0。JS还监测不出来。今天研究梳理的是Web前端技术,文档定位以及Box-sizing属性,因为项目中关于这块儿的控制很多。 我感觉Web前端最难的就是文档定位的这原创 2015-05-19 10:59:20 · 1350 阅读 · 0 评论 -
JS冒泡和闭包案例分析
背景: 今天逛网页发现了百度知道上一个有意思的JS问题,提问者的问题其实蛮简单的,懂点前端开发技术的应该都能实现。提问者的要求:实现子菜单的弹出,菜单共有三级,每级菜单显示时有500毫秒的延迟。然后提问者贴出了他的问题代码。 对别人贴出来的代码,只要不是特别复杂,我都会看一眼。毕竟程序员交流,源代码是最好的语言,刚开始看他的代码就有点感觉哪里不对。后来仔细分析了下,发现确原创 2015-06-03 13:31:32 · 1488 阅读 · 1 评论 -
JavaString、StringBuilder、StringBuffer总结
背景: 最近项目中需要用到服务器模板和字符串拼接技术。服务器模板技术很多,JSP、Velocity、JDynamiTe等很多。字符串拼接技术在Java中更简单,StringBuilder、StringBuffer和重载的字符串“+”操作。但是实际开发中,发现自己平时对Java的字符串拼接的细节处理真的很差。 基础: 字符串操作主要问题在效率上,包括如下两点:原创 2015-06-01 09:02:21 · 1696 阅读 · 7 评论 -
HTML5和HTML属性及元素整理
背景: 我们在开发的时候,经常被问到,你们用到了哪些H5的特性?有的时候这个问题真的很不好回答,除了那几样非常有特点的H5技术,比如LocalStorage、Canvas、Offline Application、图形绘制或者CSS的圆角等,剩下的H5属性、CSS3很多都细节都我们自己都不知道是否用到了H5技术,所以今天特地整理了下H5的元素和属性。经过整理和发现,原来我们不经意中原创 2015-05-29 10:26:29 · 2991 阅读 · 0 评论 -
HTML5技术学习总结
背景: HTML5(下面简称H5)技术早在N多年前就“如火如荼”了,当然现在的热度依旧不减。尤其是移动市场大火的今天,很多网站都采用了H5的技术。其实很多时候我们实际开发中多或少的都会用到H5技术。尤其是像我这种“半道出家”的非“职业前端”开发人员,很多页面效果都是度娘和google的,网上dang下来也简单测试下兼容性也就用了。我想这也是H5工作小组想要达到的目的,“文化渗原创 2015-05-21 09:38:06 · 3650 阅读 · 0 评论 -
轻量级开发技术总结
引言:目前轻量级开发技术非常多,适用的场景也各有不同,比如我们熟知的PHP、ASP .NET(ASP 和SAP .NET不是一个东西,二者编程思想都不一样)他们适用于中小型Web开发,尤其PHP非常适合开发Web站点。Java非常适合大型和企业级应用系统的开发,而在J2EE开发中可选用的开发技术和开发框架也很多,而且难以评价和对比,开发者开发背景、开发习惯尤其是开发项目的不同对开发技术原创 2014-12-02 20:04:22 · 1564 阅读 · 0 评论 -
JavaScript数组基础知识
前言:其实作为一个Java程序员,对JS程序一直都有点“不屑一顾”的感觉,很多人肯定和我一样,有其他语言基础,JS语法根本就懒得看,直接写程序,一般工作也都够用了。但是最近在做一个偏Web Excel项目,需要大量的JS编程和优化,抽空又“恶补”了下JS基础。发现原来对JS的理解偏差还是很大的。不过JS这个东西深入起来其实比Java要容易的。 基础:JS数组和Java数组很类似,值原创 2015-05-14 11:27:01 · 1208 阅读 · 0 评论 -
实现JS复制、粘贴,Chrome/Firefox下可用
背景: 最近一直在做一个Web Excel项目,其中一项功能一直很纠结,就是数据的复制粘贴功能。功能要求:可以把Web端数据粘贴到Excel中,也可以从Excel中直接粘贴数据到页面编辑器中。支持Button粘贴和Ctrl+C/Ctrl+V快捷键复制粘贴。 本以为这个功能会很简单,但是查了很多资料,用JS操作粘贴板IE下很好用,直接支持一个window.clip原创 2015-05-13 16:15:38 · 68665 阅读 · 18 评论 -
从Excel中复制数据
背景: 在Excel中执行Ctrl+V和Ctrl+C,Excel都会去OS粘贴板中获取和设置数据,具体它设置的是什么格式的没有研究过,但是如果按照字符串方式读取这些数据,那么想要把每个单元格的数据区分开,其实很简单。Excel向OS粘贴板设置的数据,因为技术原因,只能以Text方式读取,那么同一行的每个单元格值之间是有一个制表位的(\t),每行数据之间是有一个回车符(\n),原创 2015-05-15 16:39:27 · 2091 阅读 · 0 评论 -
Oracle数据库迁移-基础
Oracle数据迁移-基础原创 2015-04-29 18:08:29 · 1219 阅读 · 0 评论 -
基于逆波兰表达式的公式解析器-算法和思路(二)
续: 接着说基于逆波兰表达式的公式解析器的实现思路。下面是加入函数、符号重载后的算法描述,其实也没多大变化,只是算法在处理上更细化,更详细,更接近实际环境。改进的算法描述: 1.构建两个栈Operand(操作数栈)和Operator(操作符栈)和一个LAST_TOKEN标记字段。 2.扫描给定的字符串,扫描时注意跳过空格,提取完整的操作数原创 2015-06-26 15:47:43 · 3114 阅读 · 9 评论 -
基于逆波兰表达式的公式解析器-算法和思路(一)
背景: 最近项目需要自己完成Excel的公式解析和求值,在Java中可以使用POI解析Excel公式然后求值。但是项目需要JS端和Java后端均需要支持公式解析,所以就需要自己写一套了。其实公式解析器总体上并不复杂,原理使用逆波兰表达式就可了。难点: 1. 针对复杂的用户输入环境解析公式,需要注意公式书写不规范、大小写、空格等问题,甚至公式出错的判断。原创 2015-06-25 14:41:54 · 7005 阅读 · 0 评论