![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Rust七十二变
文章平均质量分 72
本书将分上中下三卷共七十二篇(七十二变)以简要、有趣的文字、由浅入深地讲解计算机的原理,并使用Rust语言给出恰当的示例。
smallswan
这个作者很懒,什么都没留下…
展开
-
第三十一 不可逆密码算法
密码杂凑算法。原创 2024-03-09 16:25:50 · 291 阅读 · 0 评论 -
第二十二 查询、检索、搜索
查询在计算机中十分广泛的应用。原创 2024-03-09 15:57:02 · 499 阅读 · 0 评论 -
第三十 非对称密码算法
RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,也并没有从理论上证明破译。由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。这篇博客详细介绍了RSA的数学原理。原创 2024-03-03 11:28:50 · 347 阅读 · 0 评论 -
第二十八 密钥
密钥分为两种:对称密钥与非对称密钥。原创 2024-03-03 00:21:00 · 351 阅读 · 0 评论 -
第二十九 对称密码算法
对称密码算法可以分为序列密码和分组密码。原创 2024-02-24 13:52:38 · 789 阅读 · 0 评论 -
第二十一 打包/拆包 压缩/解压
一般而言,数据越小在存储时占用的空间更小、在传输时速度更快、更节省宽带和流量、在处理时耗时更少。在大数据时代,海量数据的存储、传输、处理都将耗费巨额的成本。为了减少成本,对数据采用恰当的编码算法进行压缩变得十分重要。AWS 压缩算法从 gzip 切换到 zstd,节约 30% 存储空间。原创 2024-02-07 22:10:43 · 370 阅读 · 1 评论 -
第十八 数组的交换、反转、旋转
Doung Mcllroy 给出了将十元数组向上旋转5个位置的翻手例子。初始时掌心对着我们的脸,左手在右手上面。通过“翻转左手”、“翻转右手”、“翻转双手”三次翻转,达到模拟向左旋转5位的效果。reverse(翻转) 可以通过交换(swap)实现。rotate(旋转) 可以通过三次reverse实现;,向左旋转5位后得到。原创 2024-02-05 23:38:10 · 309 阅读 · 1 评论 -
第二十六 口令(password)
足够抵御攻击,诸如:123456,12345678,abc123,888888此类的常用、但极易被破译的密码(即弱密码)不是好的选择,反着口令足够长(至少要8位以上),并且包含大小写字母、数字、特殊符号则具有更高的强度(即强密码)。例如PBKDF2、bcrypt、scrypt、Argon2等加密算法都是不错的选择,相反使用明文存储、或者使用简单的哈希算法例如MD5、SM3、SHA256等并不能很好的抵御字典攻击等破解方法。生活中各种形形色色的密码(口令)数不胜数,如何管理这些密码也是一件十分重要的事情。原创 2024-02-03 23:39:34 · 409 阅读 · 1 评论 -
第十一 序列化、反序列化、持久化
而反序列化(解码)则是将从网络、 磁盘等读取的字节数组还原成原始对象, 主要用于网络传输对象的解码,以便完成远程调用。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。原创 2024-02-03 12:40:51 · 386 阅读 · 1 评论 -
第十 万物皆可编码
按照GB/T 17969. 1(ISO/IEC 9834-1)的定义,对象是指“通信和信息处理世界中的任何事物,它是可标识(可以命名)的,同时它可被注册”。对象标识符(Object Identifier,OID)是与对象相关联的用来无歧义地标识对象的全局唯一的值,可保证对象在通信与信息处理中正确地定位和管理。因此才有了整型、浮点型、字符串、数组、切片、哈希表、元组等基本类型,这些构成了编程语言的类型系统。数字类型:i8、i16、i32、i64、i124、u8、u16、u32、u64、u128等。原创 2024-01-27 22:52:22 · 354 阅读 · 0 评论 -
第三 字节
(Byte) 是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。原创 2024-01-27 22:12:44 · 841 阅读 · 0 评论 -
第四 时间
计算机时间到底是怎么来的?程序员必看的时间知识!时间戳转换工具。原创 2024-01-21 21:13:27 · 409 阅读 · 0 评论 -
第二 字符与编码
二进制能够表示数字,那能不能表示数字之外的各种文字,如英文、中文、俄语、法语等世界各个国家的文字?答案是肯定的,不仅可以表示各种文字,还能表示各种符号、图形(包括表情包)等。其中就使用到一种古老而又充满活力的技术——。原创 2024-01-21 14:23:11 · 1910 阅读 · 0 评论 -
第一 数字
计算机正如其名,从诞生之日,就是为了进行快速地数值计算,主要用于炮弹的弹道计算。为了搞清楚计算机的工作原理,我们首先要了解数字(尤其是整数)在计算机中是怎么表示的。原创 2024-01-21 13:38:16 · 299 阅读 · 0 评论 -
Rust七十二变--序言
标准、规范、协议是计算机、互联网的基石。原创 2024-01-21 12:34:42 · 1582 阅读 · 0 评论 -
Ubuntu 22.04下加快rust的编译速度
Ubuntu 22.04下加快rust的编译速度原创 2022-07-06 11:04:35 · 1644 阅读 · 1 评论