存储散列键:CHAR(64)作为Laravel 4中的数据类型?

时间:2013-06-05 15:29:05

标签: php mysql migration char laravel

我从Web服务中获取对象。每个对象都带有一个格式如下的键:

  

300; VMMAAACLAQAAAACJ / 1NFVkVSSU4AAIn / UzIgUExVUwAAif89WXIxLTAwMAAAh + DmCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = 9; 2422359300;

我想将此密钥存储在唯一索引中。我想我会用 sha256 对其进行哈希处理并使用 CHAR(64),但这是否是存储它的“正确”方式?

基本上我会存储hash('sha256', $object->key)

的值

此外,如何在Laravel 4迁移中指定长度 64 CHAR ?这绝对是错误的:

$table->char('hash_key', 64);

2 个答案:

答案 0 :(得分:1)

更新此旧问题以确保完整性。从4.2.6开始,Laravel支持创建CHAR列。实际上,您问题中的语法现在可以正常运行。

答案 1 :(得分:0)

使用$ table-> string('hash_key',64)来表示varchar(64)

This is give you everything you need