shiro最闪亮的四大特征是认证,授权,加密,会话管理。上一篇已经演示了如何使用shiro的授权模块,有了shiro这个利器,可以以统一的编码方式对用户的登入,登出,认证进行管理,相当的优雅。为了提高应用系统的安全性,这里主要关注shiro提供的密码服务模块;1,加密工具类的熟悉首先来个结构图,看看...
分类:
其他好文 时间:
2014-07-01 18:42:52
阅读次数:
289
OVS中流表操作的理解关键在于这里哈希表的实现,引入的 flex_array方便了内存的管理,通过 hash&(桶数-1)可以随机的将一个元素定位到某一个桶中。
接下来是代码细节。
一. 核心数据结构
//流表
struct flow_table
{
struct flex_array
* buckets; //具体的流表项
unsigned...
分类:
其他好文 时间:
2014-07-01 11:09:12
阅读次数:
638
在内核编程中哈希链表hlist使用非常多,比如在openvswitch中流表的存储中就使用了(见[1])。hlist的表头仅有一个指向首节点的指针,而没有指向尾节点的指针,这样在有很多个buckets的HASH表中存储的表头就能减少一半的空间消耗。
和hlist相关的数据结构如下,桶中存储的 hlist_head 是具有相同hash值的entry构成的链表,每个entry包含一个 hl...
分类:
系统相关 时间:
2014-07-01 09:05:52
阅读次数:
880
在看 networkx 源码的时候觉得疑惑,为什么外层 for 要注意 TypeError,里面就不用,同样是 in,
一直纠结 node 是不是有问题,比如 node 不可以被迭代什么的,那么里面应该也可能触发 TypeError 啊,
后来发现 n 若是不可以被哈希的,也会触发,作者目的其实是想针对 n 的性质。
比如:...
分类:
编程语言 时间:
2014-07-01 08:34:01
阅读次数:
257
这几天总是被一个问题困扰着,那就是base64的加密,在centos 服务器上无法解密。经过反复测试才发现,原来是因为centos 系统没有GB2312库导致的。
加密端是在ASP.NET中处理的,解密是在centos 下使用java。ASP.NET默认采用的是GB2312字符集,所以,对应的解密也必须使用GB2312。为了成功解析,所以必须让centos 也支持GB2312。最终问题解决。
...
分类:
其他好文 时间:
2014-07-01 08:24:41
阅读次数:
221
仿写 networkx 的功能
# -*- coding: cp936 -*-
'''
简单图 Graph:
要求:
关于节点:
功能1.add_node:
通过 add_node 一次性加一个节点
字符串,数字,任何可以被哈希的 python 对象都可以当做节点
...
分类:
其他好文 时间:
2014-07-01 08:15:24
阅读次数:
281
PHP中有一种数据类型非常重要,它就是关联数组,又称为哈希表(hash table),是一种非常好用的数据结构。
在程序中,我们可能会遇到需要消重的问题,举一个最简单的模型:
有一份用户名列表,存储了 10000 个用户名,没有重复项;
还有一份黑名单列表,存储了 2000 个用户名,格式与用户名列表相同;
现在需要从用户名列表中删除处在黑名单里的用户名,要求用尽量快的时间处理。
...
分类:
Web程序 时间:
2014-07-01 08:06:23
阅读次数:
171
经常在做webqq机器人,但是最头痛的问题就是腾讯经常加一些验证串来防止robot,现在共享出最新的腾讯密码加密算法和hash
算法
hash算法
def webqq_hash(i, a):
if isinstance(i, (str, unicode)):
i = int(i)
class b:
def __init__(self, _b,...
分类:
Web程序 时间:
2014-07-01 07:54:48
阅读次数:
272
下面这个散列表的实现来自K&R,很经典。在其他场景中遇到的实现更复杂,基本原理不变,只是在hash算法,或者在快速查询上做了优化。
#include
#include
//具有相同hash值构成的链表
struct nlist{
struct nlist
* next;
char * name; //key-定义的名字
char ...
分类:
其他好文 时间:
2014-07-01 07:42:51
阅读次数:
158