Ubuntu 使用的内核及默认安装的 gcc 版本均比较高级,作为 C/C++ 开发环境用的话,如需将编译好的程序从开发(编译)环境拷贝或安装到用户或其他环境下使用的情况。经常会出现高版本的编译器所编译的程序程序无法在低版本环境下使用的情况。此时在开发环境上安装更低版本、较常见的 gcc 就是一个可行的解决方案。

最早使用VIM的时候,是在网上复制别人的配置和插件直接使用,功能很炫但是往往很多功能和操作并不是很适合自己。后来对配置做过几次修改,直到这次修改之后想到把这个配置上传的GitHub上备份一下,希望下次再改的时候能够稍微省点事。 刚刚已经把我的VIM配置上传到GitHub上了,就不再贴附件了。后面配置如果有修改的时候也是向GitHub上更新。 有兴趣的小伙伴可以点击链接跳转。 我常用的功能 插件内容 使用Vundle管理插件 使用taglist进行tag浏览(窗口左侧打开),手动安装ctags 使用D......

阅读全文>>>

背景 在早前的微软Build开发者大会上,微软就公布了Wind10将集成Linux子系统的计划,可以让用户无需运行虚拟机即可在Windows下运行 Linux系统。此前一直没有太关注其进度,直到前两天在“Microsoft Store”里无意间看见有个应用的名字叫“Ubuntu”才又想起来。 图1:展示一下在应用商店里搜索关键词“Linux”的结果 通过这张图片可以看出,现在的WSL子系统至少可以支持包括 Ubuntu、openSUSE、SLES和Fedora在内的四个发行版本。通过实际体验得到的信息是......

阅读全文>>>

前言 前天公司实验室公号推了一篇文章《登录加密算法破解秘籍》,抛出一把矛头将登录行为所面临的一类安全问题阐述的很清晰。这篇文章试着再祭出一块抵御该文所述攻击手段的盾。 一些科普 首先站在细分行业的角度,对文中提到的加密相关的概念进一步做一些解释。 很多应用在进行登录口令保护过程中所使用到的所谓“加密手段”其实并非真正的加密,如:URLencode、Base64、SHA、MD5、MD2这些均非加密方式,更不具备信息保护的功能; URLencode、Base64,是对数据进行编码操作,一般用于特定场景中便......

阅读全文>>>

AES加密算法是128位的对称分组密码算法,按JDK的帮助手册描述是可以支持128bits, 192bits, 256bits 等长度的密钥调用,但最近使用Java调用AES_256加解密运算时报错: java.security.InvalidKeyException: Illegal key size or default parameters 最终弄清原因是默认安装的JDK中限制了某些高强度密码算法的使用(如AES-256),根据现在Oracle的说明,是出于部分地区的政策约束导致有此限制,原文......

阅读全文>>>

问题与处理 在使用Eclipse做Java程序开发的过程中,有时从外部导入的工程可能会没有“.classpath”这个文件(尤其是从MyEclipse工程导入的时候),导致在Eclipse中查看项目存在各种问题。一个典型的现象就是本身设置的package路径起始是“com”目录,但在导入之后起始路径变成了其他的目录。 上图中Eclipse将“src”、“dist”、“libs”三个目录识别为源码的三个起始路径 在Eclipse开发的项目中,“.classpath”文件用来配置项目中的几个关键的环境......

阅读全文>>>