简谈 Rust 与国密 TLS - 王江桐Resumption:SessionID(TLS1.2/TLCP)、Ticket( TLS1.2/TLS1.3) 8. 同步 API 以及基于可替换 Runtime 的异步 API 9. 支持单国密模式,单通用模式,或混合模式 TLS 使用 安全协议: 密码算法: 1. 对称加密:AES 、Chacha20 、SM4 2. 加密模式:GCM、XTS、CBC、CFB、CTR、OFB 3. 非对称加密:SM2、RSA Shangmi Protocols Rust China Conf 2022 – 2023, Shanghai, China • 提供通用 / 国密 / 混合 TLS 实现; • TLS 配置结构图,从 SetCipher 开始,增 加国密/通用/混合设置接口,并校验已有配 置,预先告警,避免错误。 使用 Rust 实现国密 TLS Use Rust to Implement Shangmi Protocols0 码力 | 44 页 | 3.70 MB | 1 年前3
CeresDB Rust 生产实践 任春韶spawn(task1) cpu_runtime.spawn(task2) cpu_runtime.spawn(task3) 生产实践 – Preemption 总结: Mixed workload: 碰到混合负载的时候,把 CPU 密集型任务隔离出去 会得到比较好的效果。 相关 Blog : 1. https://tokio.rs/blog/2020-04-preemption 2. https://www0 码力 | 22 页 | 6.95 MB | 1 年前3
KCL: Rust 在编译器领域的实践与探索和云精简应用交付工作流,并提供开发友 好的体验 基于 Platform as Code (平台服务即代码)理念,研发者 可以用统一的组织和操作界面定义应用交付生命周期,充分 利用Kubernetes和云的混合能力,通过端到端的交付工作 流程,真正实现集中定义、随处交付。 KusionStack 架构 • KCL:面向应用研发者的 配置策略专用高级编程语 言,及其协议组,工具链及 IDE 插件 •0 码力 | 25 页 | 3.50 MB | 1 年前3
Comprehensive Rust(简体中文) 2024122018。 – 这些版本支持对语言进行向后不兼容的更改。 – 为防止破坏代码,版本是可选的:通过 Cargo.toml 文件为 crate 选择合适的版本。 – 为免分割生态系统,Rust 编译器可以混合使用为不同版本编写的代码。 – 请注意,不借助 cargo 直接使用编译器的情况相当少见(大多数用户从不这样做)。 – 值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 { .., _ = &mut timeout_fut => { println!(..); }, } } – 可以编译这段代码了,但超时过期后,每次迭代都会变为 Poll::Ready(使用混合 Future 有助于解决此问题)。每次超时过期后,通过更新重置 timeout_fut。 • Box 在堆上进行分配。在某些情况下,也可以选择使用 std::pin::pin!(最近才正式发布,较旧0 码力 | 359 页 | 1.33 MB | 10 月前3
Comprehensive Rust(繁体中文)2018。 – 這些版本可針對語言進行回溯不相容的變更。 – 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 2024062018。 – 這些版本可針對語言進行回溯不相容的變更。 – 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself0 码力 | 356 页 | 1.41 MB | 1 年前3
Rust 程序设计语言简体中文版表达式来实现这些逻辑。 注意你可以在返回 Result 的函数中对 Result 使用 ? 运算符,可以在返回 Option 的函数中 对 Option 使用 ? 运算符,但是不可以混合搭配。? 运算符不会自动将 Result 转化为 Option ,反之亦然;在这些情况下,可以使用类似 Result 的 ok 方法或者 Option 的 ok_or 方法来显式转换。 Message::ChangeColor 枚举成员,但是其内部的枚举会匹配 Color::Hsv 枚举成员。 我们可以在一个 match 表达式中指定这些复杂条件,即使会涉及到两个枚举。 解构结构体和元组 甚至可以用复杂的方式来混合、匹配和嵌套解构模式。如下是一个复杂结构体的例子,其中结 构体和元组嵌套在元组中,并将所有的原始类型解构出来: # fn main() { # struct Point { #0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0符,则不得不使用更多的方法调用或者 match 表达式来实现这些逻辑。 注意你可以在返回 Result 的函数中对 Result 使用 ? 运算符,可以在返回 Option 的函数中对 Option 使用 ? 运算符,但是不可以混合搭配。? 运算符不会自动将 Result 转化为 Option, 反之亦然;在这些情况下,可以使用类似 Result 的 ok 方法或者 Option 的 ok_or 方法来显式 转换。 目前为止,我们所使用的所有 Message::ChangeColor 枚举变体,但是其内部的枚举会匹配 Color::Hsv 枚举变体。我们可以 在一个 match 表达式中指定这些复杂条件,即使会涉及到两个枚举。 解构结构体和元组 甚至可以用复杂的方式来混合、匹配和嵌套解构模式。如下是一个复杂结构体的例子,其中结 构体和元组嵌套在元组中,并将所有的原始类型解构出来: let ((feet, inches), Point { x, y }) =0 码力 | 562 页 | 3.23 MB | 25 天前3
共 8 条
- 1













