当前位置: 首页 > 软件库 > Web3 > 开源货币/比特币 >

django-cryptolock

授权协议 MIT License
开发语言 Python
所属分类 Web3、 开源货币/比特币
软件类型 开源软件
地区 不详
投 递 者 戚承业
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Django-Cryptolock

Authentication using cryptocurrency wallets for Django projects.

This package provides a django app containing a set of utilities toimplement the BitId and Monero Cryptolock authentication "protocols".

Future releases might include other cryptocurrencies but for the being(until we reach some stability) all the focus will remain on BTC and XMR.

DISCLAIMER: This package is on a early stage of development, It isn't meant to beused on production (in other words, only test projects for now).

Documentation

The full documentation is at https://django-cryptolock.readthedocs.io.

Quickstart

  1. Install Django-Cryptolock:

    pip install django-cryptolock
  2. Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    "django_cryptolock.apps.DjangoCryptolockConfig",
    ...
)
  1. Migrate your database:

    python manage.py migrate
  2. Add the following settings to your project for the Monero Backend:

AUTHENTICATION_BACKENDS = [
    "django_cryptolock.backends.MoneroAddressBackend",
    ...
]
DJCL_MONERO_NETWORK = "mainnet"
DJCL_MONERO_WALLET_RPC_PROTOCOL = "<http_or_https>"
DJCL_MONERO_WALLET_RPC_HOST = "<wallet_rpc_host>:<port>"
DJCL_MONERO_WALLET_RPC_USER = "<user>"
DJCL_MONERO_WALLET_RPC_PASS = "<password>"
  1. Add Django-Cryptolock's URL patterns:
from django.conf.urls import url


urlpatterns = [
    ...
    url(r"^auth/", include("django_cryptolock.urls", namespace="django_cryptolock")),
    ...
]

More detailed information can be found in the [documentation](#documentation).

  • 起因 我们知道HTTP是不安全的,所以在Django中,为了加密传输的数据(可以是密码、邮件、URL,类型可以是字符串、JSON、列表等等),可以使用itsdangerous进行加密和解密数据。 如加密一个URL的参数。 加密前:http://127.0.0.1/user/1233145 加密后:http://127.0.0.1/user/eyJhbGciOiJIUzUxMiJ9.IjEyMzMx

  • 使用Django models 的特性给我们提供方便的AES加密、解密 思路:django Field 在存入 Mysql 时会调用 get_prep_value 方法,从 Mysql 中取数据时会调用 to_python 方法,根据这个逻辑,我们就有方案啦。 1)存数据时加密(重写 get_prep_value方法); 2)取数据时解密(重写 to_python 方法)。 准备 AES 包安装

  • 环境python版本:python3.7.1,win10,Django 1.安装 pip install pycryptodome 或者 在pycharm中,file->settings->project->project interpreter,点击+号,搜索pycryptodome安装   注:pycrypto、pycrytodome和crypto是一个东西   2.运行代码会提示“ No m

  • 通过django自带的类库,来加密解密很方便,下面来简单介绍下; 导入包: from django.contrib.auth.hashers import make_password, check_password 从名字就可以看出来他们的作用了。 一个是生成密码,一个是核对密码。 例如: make_password("123456") 得到结果: u'pbkdf2_sha256 15000 MA

  • 先导包 from django.contrib.auth.hashers import make_password, check_password 主要是使用make_password来实现加密 使用check_password来检查明文是否对应该密文 >>> from django.contrib.auth.hashers import make_password, check_passwor

  • CASCADE: ⇒`级联删除。Django模拟SQL约束ON DELETE CASCADE的行为,并删除包含ForeignKey的对象。 PROTECT: ⇒`防止删除被引用的对象,通过引发 ProtectedError一个子类 django.db.IntegrityError。 SET_NULL: ⇒设置ForeignKeynull; 这是唯一可能 null的True。 SET_DEFAULT

  • 1. foreign key # 一对一 OneToOneField # 一对多 多对一 ForeignKey # 多对多 ManyToManyField class AA(models.Model): a = models.CharField(max_length=20) class BB(models.Model): b = models.CharField(max_l

  • 首先安装包 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple itsdangerous //或 pip install itsdangerous 在使用时导入类 from itsdangerous import TimedJSONWebSignatureSerializer as Serializer from itsdangero

  • 本地开启django服务 报错 ‘cryptography’ package is required for sha256_password or caching_sha2_password auth methods 解决方案: 查了网上资料说是mysql密码错误的问题,经检查我的settings密码是对的。然后就只需要在cmd窗口输入账号密码试一下进入数据库即可。然后再python manage

  • Django —— 加密 今天介绍一下 django当中的加密手段 1.md5加密 # 加密 import hashlib def md5(raw): # md5加密实例化 md5 = hashlib.md5() # 需要的话进行utf8编码 md5.update(raw.encode('utf8')) return md5.hexdigest() 2

  • Python学习笔记 - [Django] Database is locked 今天做django的时候,遇到了一大堆问题,其中就包括这个。它告诉我什么Database is locked。说真的,这段时间的django折腾下来,一看到PyCharm控制台的蓝色链接(就是异常信息里面的那个)就头皮发麻。 这个错误我研究了半天,研究不出来,无奈之下只好放弃,关掉电脑……等我下一次重新把电脑打开时,

 相关资料
  • PyCharm的一个特性是它包含对Django的支持。 能够在PyCharm中包含JavaScript功能,它可以被认为是Django的最佳IDE。 在PyCharm IDE中创建Django项目的基本步骤如下 - 如果启用了EnableDjangoadmin选项,PyCharm将为您设置管理站点。 模板调试 调试适用于Django和Jinja模板。 我们可以检查变量,逐步执行代码,并在调试器中执

  • Django 是一个高级 Python Web 框架,鼓励快速开发和简洁实用的设计。Django 使你可以更轻松地以更少的代码更快地构建更好的 Web 应用程序。 Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 一流的 URL 设计 设计者友好的模板语言 缓存系统 示例代码: from django.template import Context, lo

  • 问题内容: 我想知道是否有人将Django REST框架与django-polymorphic相结合的Pythonic解决方案。 鉴于: 如果我想要django-rest- framework中所有GalleryItem的列表,它只会给我GalleryItem(父模型)的字段,因此是:id,gallery_item_field和polymorphic_ctype。那不是我想要的 我想要custom

  • 我用ImageField创建了一个简单的模型,我想用django-rest-framework+django-rest-swagger创建一个api视图,它是文档化的,并且能够上传文件。 以下是我得到的: 我阅读了django-rest-framework中的这部分文档: 我正在使用、和。

  • 问题内容: 问题在于在django中接收到POST请求。我确实喜欢这样。 但是我得到ukeys的值为。当我检查时,我得到的值是 因此,如何在Django中将这些值作为列表获取? 谢谢! 问题答案: 后缀为jQueryPOST的数组,因为PHP和某些Web框架了解该约定,并自动为您在服务器端重新构建数组。Django不能那样工作,但是您应该能够通过以下方式访问数据:

  • Django带有聚合feed生成框架。有了它,你可以创建RSS或Atom只需继承django.contrib.syndication.views.Feed类。 让我们创建一个订阅源的应用程序。 在feed类, title, link 和 description 属性对应标准RSS 的<title>, <link> 和 <description>元素。 条目方法返回应该进入feed的item的元素。