向django中的视图发送加密参数

向django中的视图发送加密参数,django,Django,我想在django的编辑项目视图中发送一个可验证的项目id。有人能告诉我怎么做吗?关于加密的一件事是,如果你对ID进行加密以传递它,你还必须先对它进行解密,然后才能查找它 另一种可能对您有效的方法是向每个项目对象添加一个唯一的*安全哈希,该哈希是在save()上创建的,并添加到您选择的配方中:例如 import hashlib class Foo(models.Model): ...attributes here, eg name, ... obj_hash = models.Cha

我想在django的编辑项目视图中发送一个可验证的项目id。有人能告诉我怎么做吗?

关于加密的一件事是,如果你对ID进行加密以传递它,你还必须先对它进行解密,然后才能查找它

另一种可能对您有效的方法是向每个项目对象添加一个唯一的*安全哈希,该哈希是在save()上创建的,并添加到您选择的配方中:例如

import hashlib

class Foo(models.Model):
  ...attributes here, eg name, ...

  obj_hash = models.CharField(max_length=40, blank=True, null=False)

  def save(self):

  if not self.obj_hash:
    self.obj_hash = hashlib.sha1(string of attributes vals here).hexdigest()

  super(Foo, self).save()
然后在您的urlConf和视图中,有一些东西使用或通过其obj_散列而不是其id查找Foo


(*是的,我知道技术上不能保证它是唯一的,但散列冲突不应该是问题。如果确实需要,可以在保存之前检查它是否存在。)

但是,如果需要加密数据,请使用安全套接字层(SSL)

嗯。。。你能解释一下为什么要加密吗?我猜有更好的方法来解决你的实际问题。