斯潘8
斯潘4
我尝试在我的FME工作台中创建一个MD5哈希代码。我找到的唯一方法是用Python创建它。
对吗?没有别的办法吗?
好啊,我试过用蟒蛇,但我有一些错误。有人能帮我吗?
首先,我创建了一个新属性,将所有需要的属性连接在一起,然后在pythoncaller中使用此代码:
进口哈希利布,操作系统
def gethash(功能):
myString=feature.getattribute('串联')
#假定为默认的UTF-8
hash_object=hashlib.md5(myString.encode())
打印(hash_object.hexDigest())
我希望用我想要的代码返回一个名为hash_对象的新属性。但我只有错误。;
谢谢你的支持。
伟大的,它起作用了。
上周我尝试了CRC计算器,但是我得到了2个相同的代码,但是属性中有不同的字符串。
现在有了python,它的工作就完美了。
注:在瑞士和其他德语国家,我们有一些特殊的字符(_,奥尔u)。python hash create无法处理此问题。首先,我必须用一个替代品(ae,OEu)然后它工作得很完美。
非常感谢您的支持和回答。
要让它写入名为md的字段,需要修复什么?当我运行它时,我得到以下错误
python异常
调用函数“gethash”时遇到错误
PytonFactory无法处理功能
进口FME
导入FmeObjects
进口哈希利布,操作系统
def gethash(功能):
myString=feature.getattribute('path_windows')
#假定为默认的UTF-8
hash_object=hashlib.md5(myString.encode())
打印(hash_object.hexDigest())
feature.setattribute(“md”,哈希对象
真的,所有人都很好地掌握了这一点!马克是(当然!)正确,但与FME 2016相关。
因为我在其他人都这么做的时候进行了详细的讨论,所以我重新学习了python 3中的hashlib——下面是:-)。
γhashlib_example.py- Python 3
#-*-编码:UTF-8-*-
进口散列
name_str='praha-v_chod'
as_bytes=name_str.encode('utf-8')
my_hash=hashlib.md5()。
我的哈希更新(以字节为单位)
my_hash_hex_str=我的_hash.hex摘要(
您好!
你可以看看CRC计算器,但是,如果您真的需要MD5,我认为Python是解决问题的方法。下面是一个工作示例,它还处理mystring返回none(缺少属性)的情况:
导入fmeobjectsimport哈希库,osclass gethash(object):def input(self,feature):mystring=feature.getattribute(“concatenated”)if mystring:hash_object=hashlib.md5(unicode(mystring))hash=hash_object.hexDigest()否则:hash='feature.setattribute('md5',hash)self.pyoutput(功能)
记住,任何哈希算法都可能发生冲突,有关CRC计算器的讨论,请参阅此处。特别地。
戴维
你好,
如果你想继续使用python,这个带有以下代码的蟒蛇可以正常工作:
导入fmeimport fmeobjectsimport hashlib,osdef gethash(feature):mystring=feature.getattribute('concatenated')采用默认的utf-8hash_object=hashlib.md5(mystring.encode())print(hash_object.hexDigest())
当做,
拉里
?2019安全亚搏在线软件公司|合法的