1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Shorten key length to 20 bytes

This commit is contained in:
Jeremy Stretch
2017-03-07 22:56:29 -05:00
parent fd55360672
commit 26225aff57
2 changed files with 9 additions and 6 deletions
netbox/users

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-07 20:57
# Generated by Django 1.10.6 on 2017-03-08 03:52
from __future__ import unicode_literals
from django.conf import settings
@ -22,10 +22,13 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True)),
('expires', models.DateTimeField(blank=True, null=True)),
('key', models.CharField(max_length=64, unique=True)),
('write_enabled', models.BooleanField(default=True, help_text=b'Permit POST/PUT/DELETE operations using this key')),
('key', models.CharField(max_length=40, unique=True)),
('write_enabled', models.BooleanField(default=True, help_text=b'Permit create/update/delete operations using this key')),
('description', models.CharField(blank=True, max_length=100)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tokens', to=settings.AUTH_USER_MODEL)),
],
options={
'default_permissions': [],
},
),
]

@ -15,7 +15,7 @@ class Token(models.Model):
user = models.ForeignKey(User, related_name='tokens', on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
expires = models.DateTimeField(blank=True, null=True)
key = models.CharField(max_length=64, unique=True)
key = models.CharField(max_length=40, unique=True)
write_enabled = models.BooleanField(default=True, help_text="Permit create/update/delete operations using this key")
description = models.CharField(max_length=100, blank=True)
@ -31,5 +31,5 @@ class Token(models.Model):
return super(Token, self).save(*args, **kwargs)
def generate_key(self):
# Generate a random 256-bit key expressed in hexadecimal.
return binascii.hexlify(os.urandom(32)).decode()
# Generate a random 160-bit key expressed in hexadecimal.
return binascii.hexlify(os.urandom(20)).decode()