通过隐藏顺序ID号来阻止信息泄漏

obscure的Python项目详细描述


[![生成状态](https://travis-ci.org/jidn/obscure.svg?branch=master)](https://travis-ci.org/jidn/obscure.svg?分支机构=MasterP) 啊![版本](http://img.shields.io/pypi/v/obscure.svg) 啊![许可证](http://img.shields.io/pypi/l/obscure.svg) 啊![覆盖范围](https://coveralls.io/repos/github/jidn/obscure/badge.svg?branch=master) 啊![下载](http://img.shields.io/pypi/dm/obscure.svg

#模糊

显示整数ids泄漏信息的稳定增长序列 向客户、竞争对手或恶意实体提供 客户、库存或订单的频率例如:

/customer/123 /order/308

从这些,我可以得出结论,我是您的第123位客户 308号令。客户或竞争对手对此有何看法 不同。不过,关键是我真的想让别人知道 信息另外,通过创建另一个帐户或订单,我可以 估计系统内的变化率。

这个类将通过提供 对数字的可逆转换。用不同的盐 你的转变将是独一无二的。另外,这个班给了一些 十六进制、base32和base64的输出帮助程序。有一个我叫“驯服” 因为它删除了字母i和u来消除一些常见的攻击 话。

#安装

到目前为止,最简单的方法是使用pip:

`console $ pip install obscure `

#示例

`python >>> from obscure import Obscure >>> customer_id = 123 >>> num = Obscure(0x1234) >>> num.transform(customer_id) 249699227 >>> num.transform(249699227) 123 >>> num.encode_hex(customer_id) '0ee21b9b' >>> num.encode_base32(customer_id) 'B3RBXGY' >>> num.decode_base32(num.encode_base32(customer_id)) 123 >>> num.encode_base64(customer_id) 'DuIbmw' >>> num.encode_tame(customer_id) 'JB4XFK5' >>> num.decode_tame(num.encode_tame(customer_id)) 123 `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中存储工作日数据以及开始时间和结束时间?   mysql Java JPA内部联接查询不起作用   java MQ消息在不同的客户端应用程序中显示不同   javascript如何在xPage上提高typeAhead性能?   java在尝试保存EditText时无法暂停   mongodb“未能使用带参数的构造函数NO_构造函数实例化java.util.List”,   java如何修改使IllegalArgumentException:列“\u id”不存在的游标   转换Android。网Uri到Java。伊奥。输入流   java NetBeans RCP居中弹出窗口无法按预期工作   java将sql开发人员与netbeans连接起来   带有xmldsig签名的java JAXB编组   java ORACLE JDBC批处理执行不会返回受影响行的实际计数   java无法理解如何在由swagger自动生成的jaxrs服务器中访问请求头   java如何处理漏洞CVE20181258,同时将Spring安全版本5与外部客户端(最新版本)一起使用?   JavaSpring数据JPA存储库多租户单模式技术