使用python脚本将字符或整数转换为md5哈希

2024-09-28 20:18:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我用SQL将一个社会保险号转换成MD5散列。我想知道python/pandas中是否有一个模块或函数可以做同样的事情。在

我的sql脚本是:

CREATE OR REPLACE FUNCTION MD5HASH(STR IN VARCHAR2) RETURN VARCHAR2 IS
  V_CHECKSUM VARCHAR2(32);

BEGIN
  V_CHECKSUM := LOWER(RAWTOHEX(UTL_RAW.CAST_TO_RAW(SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_ST    RING => STR))));
  RETURN V_CHECKSUM;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    NULL;
  WHEN OTHERS THEN
    RAISE;
END MD5HASH;

SELECT HRPRO.MD5HASH('555555555') FROM DUAL

谢谢。在

我很抱歉,现在我回顾了我最初的问题,这让我很困惑。在

我有一个包含以下标题的数据框:

^{pr2}$

其中ssno是个人信息,我想将其转换为md5散列,然后在dataframe中创建一个新列。在

谢谢。。。很抱歉给你添麻烦了。在

现在我必须将我的文件发送到Oracle,然后将ssn转换为散列,然后再导出,这样我就可以在Pandas中继续使用它。我想取消这一步。在


Tags: 模块函数pandassqlrawreturn事情md5
2条回答

使用标准的hashlib模块:

import hashlib

hash = hashlib.md5()
hash.update('555555555')
print hash.hexdigest()

输出

^{pr2}$

正如Timkoff在评论中提到的,您也可以更简单地使用

print hashlib.md5('555555555').hexdigest()

当您希望分阶段生成校验和时,.update()方法非常有用。有关详细信息,请参阅hashlib documentation(或Python 3 version)。在

带有md5的hashlib可能会引起您的兴趣。在

import hashlib
hashlib.md5("Nobody inspects the spammish repetition").hexdigest()

输出:

^{pr2}$

此模块中始终存在的哈希算法的构造函数是md5(), sha1(), sha224(), sha256(), sha384(), and sha512()。在

如果您想要更简洁的结果,那么您可以尝试sha系列

sha224的输出:

'a4337bc45a8fc544c03f52dc550cd6e1e87021bc896588bd79e901e2'

有关详细信息:hashlib

相关问题 更多 >