- 博客(7)
- 收藏
- 关注
原创 数字签名、数字证书、公钥、密钥、CA
A利用双方都知悉的算法,将报文生成报文摘要,然后利用A的密钥生成A的数字签名,将A的数字签名连同报文发送给B。CA利用CA的密钥,将A的公钥生成A的数字证书,将A数字证书连同CA的公钥发送给B。B利用CA的公钥,将A的数字证书还原为A的公钥,再利用A的公钥,将A的数字签名还原为报文摘要,再与接收到的报文生成的报文摘要比对。B利用CA的公钥,将...
2018-04-26 13:52:29
1331
原创 QT,[demo]EditableTreeModel中,TreeItem和TreeModel的理解
TreeModel和QStringListModel、QSqlTableModel等不同,后者是维护一个model实例,数据(可理解为)直接初始化到model中,而demo中的TreeModel是创建并维护一个树结构TreeItem的实例,在TreeModel::setModelData中对结点进行parent->insertChildren操作。demo中的TreeItem是树结构,每一个...
2018-04-17 11:39:47
1372
1
原创 对于哈夫曼编码的理解
哈夫曼编码,主要目的是根据使用频率来最大化节省字符(编码)的存储空间。首先,计算机通过0-1进行运算,因此自然想到使用二叉树对字符进行编码,叶子对应字符,节点路径对应编码。ABCDE可以有各种编码。借用这个图片,https://blog.youkuaiyun.com/TW_345/article/details/50096819这样随意的一个二叉树(忽略节点权值),它的总存储空间已经优于固定长度编码了。在不考...
2018-04-12 17:15:58
2274
原创 KMP算法(2),对Next函数的理解
Next函数返回匹配字符串中当前位置 j (j=1,2,3...)前面的子字符串中,最长前后缀长度+1(j=1时,定义为0)KMP算法中,j = next(j),在i不变的情况下,直接丢弃了匹配字符串中的最长前缀,从next(j)位置与i位置继续比较。=============================================(例)设一段字符串ABXYAB*****,当匹配到ABXY...
2018-04-10 14:49:14
269
原创 KMP算法(1),对最长前后缀移位原理的理解
KMP算法即是模式字符串自身的匹配。移位数 = 已匹配长度 - 最长前后缀长度移位应该使最长前缀与最长后缀相重合,若无最长前后缀,直接跳过已匹配区间。最长后缀前面的区间中没有可能发生匹配通过吗?如果匹配通过,则说明最长前后缀不正确,显然两者矛盾,因此疑问证伪。=============================================(例一)设一段字符串ABXYAB*****,当匹配...
2018-04-10 10:51:58
1727
2
原创 QT,在TableView中增加CheckBox的几种方法比较
两种重载方法,class TableDelegate : public QStyledItemDelegate或者class TableModel : public QAbstractTableModel方法一,在TableDelegate::paint中通过QApplication::style()->drawControl(QStyle::CE_CheckBox, &btnOps...
2017-08-28 16:42:19
6773
转载 【转载】Unity3D开发之Matrix4x4矩阵变换
Unity3D开发之Matrix4x4矩阵变换http://sygame.lofter.com/post/117105_3b843c/在Unity开发中时常会用到Matrix4x4矩阵来变换场景中对象的位置、旋转和缩放。但是很多人都不太理解这儿Matrix4x4变换矩阵。通过DX中的变换矩阵我来讲一讲在unity中这个变换矩阵是怎么变换的。在三维图形程序中,我们可以用几何变换来达到以下目的:表示一...
2016-08-31 23:18:37
759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人