跟我学Shiro - 张开涛............................................................................................. 41 散列算法................................................................................................. 数组/String 之间转换。 散列算法 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的 数据,常见的散列算法如 MD5、SHA 等。一般进行散列时最好提供一个 salt(盐),比如 加密密码“admin”,产生的散列值是“21232f297a57a5a743894a0e4a801fc3”,可以到一 些 md5 解密网站很容易的通过散列值得到密码“admin”,即如果直接对密码进行散列相 果直接对密码进行散列相 对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如用户名和 ID(即盐); 这样散列的对象是“密码+用户名+ID”,这样生成的散列值相对来说更难破解。 String str = "hello"; String base64Encoded = Base64.encodeToString(str.getBytes()); String str2 =0 码力 | 219 页 | 4.16 MB | 10 月前3
清华大学 DeepSeek+DeepResearch 让科研像聊天一样简单指令:我想让您担任学术期刊编辑,我将向您提供一份手稿摘要,您将向我提供 5 个好的研究论文英文标题,并解释为什 么这个标题是好的。请将输出结果以 Markdown 表格的形式提供,表格有两列,标题为中文。第一列给出英文标题,第二 列给出中文解释。以下文本为摘要: 【指令后加上文章的摘要】。 中-英、英-中互译指令 指令:我想让你充当一名科研类的英汉翻译,我会向你提供一种语言的一些段落,你的任务是将这些段落准确地、学术性 您应使用人工智能工具(如自然语言处理)以及有关有效写作技巧 的修辞知识和经验进行回复。我会给你如下段落,请告诉我是用什么语言写的,然后翻译。我希望你能以标记表的形式给出 输出结果,其中第一列是原文,第二列是翻译后的句子,每行只给出一个句子 所提供段落的语言是中文,以下是按要求的标记表格式翻译成英文的译文: Original (Chinese) Translation (English) 清晰度、简洁性和整体可读性, 同时分解长句,减少重复,并提供改进建议。请仅提供文本的更正版本,并附上解释。以 markdown 表格的形式提供 输出结果,每个句子单独成行。第一列为原句,第二列为修改后的句子,第三列为中文解释。请编辑以下文本: 原始句子 优化后句子 中文释义 捕食是一个基本的生态过程,捕食的定义为:一 种生物(捕食者)捕食了另一种生物(猎物)(Begon 等,1997)。0 码力 | 85 页 | 8.31 MB | 8 月前3
清华大学 普通人如何抓住DeepSeek红利!” 场景1:1小时内写完一个1万字的项目书 场景:下午3点,你突然接到领导通知:“今晚4点前必须交一份10000字的智能物流园区项目方案书,客户临时提 前会议!”你大脑一片空白——手头只有零散的会议记录、几份过时的模板,且对“智能物流”技术细节不熟。电 脑右下角显示时间:3:05 PM,你手心冒汗,疯狂翻找资料,但文档光标始终停留在标题页…… 场景1:1小时内写完一个1万字的项目书 处理提示语 用户 输入提示语 任务类型 适用模型 提示语侧重点 示例(有效提示) 需避免的提示策略 数学证明 推理模型 直接提问,无需分步引导 “证明勾股定理 ” 冗余拆解(如“先画图,再列公式 ”) 通用模型 显式要求分步思考,提供示例 “请分三步推导勾股定理,参考: 1. 画直角三角形 … ” 直接提问(易跳过关键步骤) 创意写作 推理模型 鼓励发散性,设定角色/风格 “以海明威的风格写一个冒险故事0 码力 | 65 页 | 4.47 MB | 8 月前3
Python 标准库参考指南 3.7.13 encoding 。有关支持的编码列表,请参阅codecs 模块。 errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 - 这不能在二进制模式下使用。 可以使用各种标准错误处理程序(列在错误处理方案 ),但是使用codecs.register_error() 注册的任何错误处理名称也是有效的。标准名称包括: • 如果存在编码错误,'strict' 会引发ValueError 异常。默认值 Reference, 发布 3.7.13 4.7 文本序列类型 --- str 在 Python 中处理文本数据是使用str 对象,也称为 字符串。字符串是由 Unicode 码位构成的不可变序 列。字符串字面值有多种不同的写法: • 单引号: ' 允许包含有" 双" 引号' • 双引号: " 允许包含有 ' 单' 引号"。 • 三重引号: ''' 三重单引号''', """ 三重双引号""" expandtabs(tabsize=8) 返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的 制表符宽度。每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。 要展开字符串,当前列将被设为零并逐一检查字符串中的每个字符。如果字符为制表符 (\t),则会 在结果中插入一个或多个空格符,直到当前列等于下一个制表位。(制表符本身不会被复制。)如果0 码力 | 1846 页 | 9.09 MB | 9 月前3
Python 标准库参考指南 3.7.13 encoding 。 有关支持的编码列表,请参阅codecs 模块。 errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 - 这不能在二进制模式下使用。可 以使用各种标准错误处理程序(列在错误处理方案 ),但是使用codecs.register_error() 注册 的任何错误处理名称也是有效的。标准名称包括: • 如果存在编码错误,'strict' 会引发ValueError 异常。默认值 中的项求和并返回总计值。start 默认为 0。iterable 的项通常为数字,开 始值则不允许为字符串。 对 某 些 用 例 来 说, 存 在sum() 的 更 好 替 代。 拼 接 字 符 串 序 列 的 更 好 更 快 方 式 是 调 用 ''. join(sequence)。要以扩展精度对浮点值求和,请参阅math.fsum()。要拼接一系列可迭代对 象,请考虑使用itertools.chain()。 expandtabs(tabsize=8) 返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的制 表符宽度。每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。要展 开字符串,当前列将被设为零并逐一检查字符串中的每个字符。如果字符为制表符 (\t),则会在结果 中插入一个或多个空格符,直到当前列等于下一个制表位。(制表符本身不会被复制。)如果字符为换0 码力 | 1961 页 | 9.14 MB | 9 月前3
Comprehensive Rust(繁体中文)6 型別推斷 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.7 練習:費波那契數列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.7.1 解決方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 II 第 1 天:下午 37 7 Welcome Back 38 8 元組和陣列 39 8.1 陣列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.2 元組 . . 40 8.5 練習:巢狀陣列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 8.5.1 解決方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9 參照 44 9.1 共用列舉 . . . . . .0 码力 | 358 页 | 1.41 MB | 10 月前3
Python 标准库参考指南 3.8.20 encoding 。有关支持的编码列表,请参阅codecs 模块。 errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 - 这不能在二进制模式下使用。 可以使用各种标准错误处理程序(列在错误处理方案 ),但是使用codecs.register_error() 注册的任何错误处理名称也是有效的。标准名称包括: • 如果存在编码错误,'strict' 会引发ValueError 异常。默认值 Reference, 发布 3.8.20 4.7 文本序列类型 --- str 在 Python 中处理文本数据是使用str 对象,也称为 字符串。字符串是由 Unicode 码位构成的不可变序 列。字符串字面值有多种不同的写法: • 单引号: '允许包含有" 双" 引号' • 双引号: " 允许包含有 '单' 引号"。 • 三重引号: '''三重单引号''', """ 三重双引号""" expandtabs(tabsize=8) 返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的 制表符宽度。每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。 要展开字符串,当前列将被设为零并逐一检查字符串中的每个字符。如果字符为制表符 (\t),则会 在结果中插入一个或多个空格符,直到当前列等于下一个制表位。(制表符本身不会被复制。)如果0 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.8.20 encoding 。有关支持的编码列表,请参阅codecs 模块。 errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 - 这不能在二进制模式下使用。 可以使用各种标准错误处理程序(列在错误处理方案 ),但是使用codecs.register_error() 注册的任何错误处理名称也是有效的。标准名称包括: • 如果存在编码错误,'strict' 会引发ValueError 异常。默认值 Reference, 发布 3.8.20 4.7 文本序列类型 --- str 在 Python 中处理文本数据是使用str 对象,也称为 字符串。字符串是由 Unicode 码位构成的不可变序 列。字符串字面值有多种不同的写法: • 单引号: '允许包含有" 双" 引号' • 双引号: " 允许包含有 '单' 引号"。 • 三重引号: '''三重单引号''', """ 三重双引号""" expandtabs(tabsize=8) 返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的 制表符宽度。每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。 要展开字符串,当前列将被设为零并逐一检查字符串中的每个字符。如果字符为制表符 (\t),则会 在结果中插入一个或多个空格符,直到当前列等于下一个制表位。(制表符本身不会被复制。)如果0 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.8.20 encoding 。 有关支持的编码列表,请参阅codecs 模块。 errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 - 这不能在二进制模式下使用。可 以使用各种标准错误处理程序(列在错误处理方案 ),但是使用codecs.register_error() 注册 的任何错误处理名称也是有效的。标准名称包括: • 如果存在编码错误,'strict' 会引发ValueError 异常。默认值 iterable 的项求和并返回总计值。iterable 的项通常为数字,而 start 值则不允许 为字符串。 对 某 些 用 例 来 说, 存 在sum() 的 更 好 替 代。 拼 接 字 符 串 序 列 的 更 好 更 快 方 式 是 调 用 ''. join(sequence)。要以扩展精度对浮点值求和,请参阅math.fsum()。要拼接一系列可迭代对 象,请考虑使用itertools.chain()。 expandtabs(tabsize=8) 返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的制 表符宽度。每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。要展 开字符串,当前列将被设为零并逐一检查字符串中的每个字符。如果字符为制表符 (\t),则会在结果 中插入一个或多个空格符,直到当前列等于下一个制表位。(制表符本身不会被复制。)如果字符为换0 码力 | 2052 页 | 9.74 MB | 9 月前3
Hello 算法 1.2.0 简体中文 Dart 版// 后继节点引用 ListNode? prev; // 前驱节点引用 ListNode(this.val, {this.next, this.prev}); } /* 基于双向链表实现的双向对列 */ class LinkedListDeque { late ListNode? _front; // 头节点 _front late ListNode? _rear; // 尾节点 _rear 在计算机世界中,哈希表如同一位聪慧的图书管理员。 他知道如何计算索书号,从而可以快速找到目标图书。 第 6 章 哈希表 www.hello‑algo.com 114 6.1 哈希表 哈希表(hash table),又称散列表,它通过建立键 key 与值 value 之间的映射,实现高效的元素查询。具体而 言,我们向哈希表中输入一个键 key ,则可以在 ?(1) 时间内获取对应的值 value 。 如图 6‑1 所示,给定 // 节点对象 Instance of 'ListNode' 的哈希值为 1033450432 在许多编程语言中,只有不可变对象才可作为哈希表的 key 。假如我们将列表(动态数组)作为 key ,当列 表的内容发生变化时,它的哈希值也随之改变,我们就无法在哈希表中查询到原先的 value 了。 虽然自定义对象(比如链表节点)的成员变量是可变的,但它是可哈希的。这是因为对象的哈希值通常是基 于0 码力 | 378 页 | 18.46 MB | 10 月前3
共 78 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













