Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

请问stock/stock.py中的checksum算法有什么作用?



  • stock/stock.py

    class stock_tracking(osv.osv):
    _name = "stock.tracking"
    _description = "Stock Tracking Lots"

    def checksum(sscc):
    	# salt = '31313131313131313'
    	salt = '31' * 8 + '3'
    	sum = 0
    	# zip('000055',salt) = [('0', '3'), ('0', '1'), ('0', '3'), ('0', '1'), ('5', '3'), ('5', '1')]
    	for sscc_part, salt_part in zip(sscc, salt):
    		sum += int(sscc_part) * int(salt_part)
    	return (10 - (sum % 10)) % 10
    checksum = staticmethod(checksum)
    

    请问stock/stock.py中的checksum算法有什么作用?[/size][/font]



  • 看上去是检查sscc,要保证在3131313131313的如55(31(5×3)+(5×1))出现整数,否则(10-(sum)%10)%10都不会是0

    至于为什么要这样我就不知道了



  • 这个东西像个魔方,我在不是很理解下算了下
    个位数从((0。。。9 )的结果
    0,1,2,3,4,5,6,7,8,9
    0,7,4,1,8,5,2,9,6,3 那表示M*10里面肯定有一个为0
    分别是0,13,26,39,42,55,68,71,84,97这里还有点规律可下一个却是
    109,112,125,138,141,154,167,170,183,196,这里又来
    208,211,224,237,240,253,266,279,282,295,307.。。为什么会这样,数理上怎么解释?


  • 管理员

    Simon兄弟辛苦了,这是一个加密用的salt算法。


Log in to reply