当前位置: 首页 > news >正文

解释实现哈希值作为唯一的ID以及后面的hexdigest是什么意思

# 生成文档内容的哈希值作为唯一的ID
text_hash = hashlib.md5(doc.page_content.encode('utf-8')).hexdigest()

1. 代码含义分解

  1. doc.page_content

    • 表示一个文档的内容(字符串)。

    • 假设 doc.page_content = "Hello World"

  2. .encode('utf-8')

    • 把字符串转换为字节序列(bytes),因为哈希函数需要处理的是二进制数据。

    • "Hello World".encode('utf-8') → b'Hello World'

  3. hashlib.md5(...)

    • 调用 Python 内置的 hashlib 库,使用 MD5 哈希函数 计算输入数据的哈希值。

    • 得到的是一个 哈希对象(hash object),不是最终的哈希值。

  4. .hexdigest()

    • 把哈希对象的结果取出来,并转换为 十六进制字符串

    • 例如:

      hashlib.md5(b"Hello World").hexdigest()
      # 结果: "b10a8db164e0754105b7a99be72e3fe5"
      
  5. 最终赋值给 text_hash

    • 这样 text_hash 就是文档内容对应的一个唯一字符串 ID。

    • 即便文档内容改动一个字节,生成的哈希值也会完全不同。


2. hexdigest 的意义

  • digest():返回二进制哈希值(不可读,长度固定字节)。

  • hexdigest():把二进制结果转成可读的 十六进制字符串

import hashlibs = "Hello".encode("utf-8")print(hashlib.md5(s).digest())    # 输出原始字节串
print(hashlib.md5(s).hexdigest()) # 输出十六进制字符串

输出:

b'\x8b\x1a\x99S\xc4a\x12\x96\xa8\'\xab\xf8\xc4x\x04\xd7'
8b1a9953c4611296a827abf8c47804d7

所以,.hexdigest() 是把不可读的二进制哈希结果,转成常见的 16 进制字符串表示,方便存储和对比。


总结:
这句代码的作用就是:
对文档内容(doc.page_content)做 UTF-8 编码 → 用 MD5 算法生成哈希值 → 转成十六进制字符串 → 存到 text_hash,作为唯一 ID。

http://www.dtcms.com/a/346319.html

相关文章:

  • 剑指数组相关
  • CSS自定义属性(CSS变量)
  • 全面解析 `strncasecmp` 字符串比较函数
  • ES6变量与解构:let、const与模板字符串全解析
  • 53 C++ 现代C++编程艺术2-枚举和枚举类
  • 大麦盒子DM4036亲测刷包实践笔记
  • AI领域的语义空间是什么?
  • 波士顿房价线性回归预测讲解
  • 基于SpringBoot的家教信息预约管理系统【2026最新】
  • Spring IOC 原理与高级特性剖析
  • Redis---事务
  • 企业如何建立有效备份,防范病毒并快速恢复数据
  • UVM一些不常用的功能
  • 2公里级、高分辨率:新一代OCI重新定义光纤精准定位
  • huggingface离线下载模型使用方法
  • PiscCode使用 MediaPipe 检测人脸关键点多样展示
  • 域名地址是什么?
  • Python 异步框架 (Async/Aiohttp) 调用淘宝 API:实现万级商品数据异步采集
  • 透射TEM新手入门:衍射斑点标定 1
  • Java面试-== 和 equals() 方法的区别与实现原理
  • 结构-活性关系SAR中scaffold识别
  • MAPGIS6.7地质编录
  • Codeforces 一场真正的战斗
  • 线段树模版
  • 多态(polymorphism)
  • RS485通过NiMotion协议发送报文控制电机运行案例
  • 嵌入式学习日记(32)Linux下的网络编程
  • 全球教育数字化与人工智能应用现状扫描—不同教育阶段(学前、K12、高等教育、职业教育、成人教育)的应用差异与特点
  • Linux 软件包安装和管理的相关操作及使用总结(未完成)
  • 金蝶云星空·旗舰版 × 聚水潭跨境业务一体化集成方案