您正在查看: 程序 分类下的文章

TCP 通信 加密 解密 流程

TCP 通信加密解密流程


  1. 可逆非对称加密,客户端和服务器通讯的时候,客户端先用非对称加密生成2把随机钥匙,一把叫公钥一把叫密钥,关键就在这里,用这个公钥加密的内容不能用公钥解密,只能用密钥解密,客户端把公钥发送给服务器,服务器用这个客户端生成的公钥把某内容加密后返还给客户端,客户端用那把密钥解密。最典型的可逆非对称加密算法是RSA。

  2. 服务端传送对称加密的钥匙,客户端保存

  3. 双方以该对钥匙进行对称加解密通信

先用非对称加密传送对称加密的钥匙,这样对称加密的钥匙的传送过程就安全了,钥匙安全问题解决了所以对称加密和非对称加密就一样安全了,这时就关闭非对称加密,以后都用对称加密了,速度也上来了。这就是非对称加密和对称加密配合使用的过程。

Node.js 环境非关系型数据库选择

NeDB


NeDB 可以让数据存储在内存中,也可以存储在文件中,而且它不仅可以配合node.js使用,还可以在浏览器端使用。

LokiJS


LokiJS 可以运行在下列环境:

  • node (including cordova/phonegap and node-webkit)
  • javascript
  • 浏览器端

LokiJS 的特点:

  • 高性能(110万 读写/秒) and binary-index (500k ops/s)
  • 支持多种环境运行
  • 动态视图,用于快速访问数据子集
  • 内置持久适配器,以及支持用户定义适配器的能力

Lowdb


Lowdb 同样支持node.js和浏览器端的使用。

为什么选择 Lowdb ?

  • 和Lodash API一致。如果你之前用过Lodash,那么lowdb的用法你就很熟悉了;
  • 体积小,简单易用;
  • 灵活性和可扩展性高:
    -- 自定义存储方式:文件类型存储、内存存储和浏览器端存储都可以;
    -- 自定义格式:(JSON, BSON, YAML, XML, ...)
    -- 支持只读和只写模式
    -- 可加密
  • 不支持多核

本文部分内容来自:6大Node.js非关系型小型数据库

Chrome Extension Development

Chrome Extension Development


【干货】Chrome插件(扩展)开发全攻略

  • 相关介绍

  • 6 个核心概念

  • 8 种展示形式

  • 5 种类型 JS 对比

  • 消息通信

  • 其它
    -- 动态注入或执行 JS
    -- 动态注入 CSS
    -- 获取当前窗口 ID
    -- 获取当前标签页 ID
    -- 本地存储
    -- webRequest
    -- 国际化
    -- API 总结

  • 链接:http://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html

将当前页面推送到百度

将当前页面推送到百度


将当前页面自动推送到百度

下面这段其实只支持 HTTP, 不支持 HTTPS


(function(){
    var bp = document.createElement('script');
    bp.src = '//push.zhanzhang.baidu.com/push.js';
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();

分而治之


(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();