Files
dsProject/dsLightRag/Util/CommonUtil.py
2025-09-11 15:10:25 +08:00

47 lines
1.3 KiB
Python

import hashlib
import base64
import logging
# 配置日志
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
logger = logging.getLogger(__name__)
def md5_encrypt(text):
# 创建一个md5哈希对象
md5_hash = hashlib.md5()
# 更新哈希对象的数据,注意这里需要将字符串转换为字节类型
md5_hash.update(text.encode('utf-8'))
# 获取十六进制表示的哈希值
encrypted_text = md5_hash.hexdigest()
return encrypted_text
def get_ldap_password(password):
try:
# 计算MD5哈希值
md5pass = md5_encrypt(password)
# 每两个字节压缩成一个十六进制字符
ba_keyword = bytearray()
for i in range(0, len(md5pass), 2):
try:
ba_keyword.append(int(md5pass[i:i + 2], 16) & 0xff)
except Exception as e:
logger.error(f"======================错误密码:{md5pass}")
logger.error(e, exc_info=True)
return None
# Base64编码
newstr = base64.b64encode(ba_keyword).decode('utf-8')
return newstr
except Exception as err:
logger.error(f"出错的密码:{password}")
logger.error(err, exc_info=True)
return None
if __name__ == '__main__':
print(get_ldap_password("123456"))