O SQLite
randomblob()
A função retorna um blob contendo bytes pseudo-aleatórios. O número de bytes é determinado pelo seu argumento. Se seu argumento for menor que 1, um blob aleatório de 1 byte será retornado.
Exemplo
Aqui está um exemplo para demonstrar.
SELECT randomblob(8);
Resultado:
randomblob(8) ------------- EqƋy
Gerar um GUID
Você pode usar
randomblob()
em conjunto com o hex()
para gerar um identificador global exclusivo (GUID) fazendo o seguinte. SELECT hex(randomblob(16));
Resultado:
6A70117D7C25523E0AF82C89D2A0A602
Observe que um GUID, também conhecido como identificador exclusivo universal (UUID), tem 128 bits (16 bytes). Portanto, você precisa especificar 16 como o argumento se desejar gerar um GUID verdadeiro.
Não há nada que impeça você de gerar um valor com mais ou menos bytes.
Você também pode usar o
lower()
função se você precisar que o GUID use letras minúsculas. SELECT lower(hex(randomblob(16)));
Resultado:
50ecfe91179900a8e8cdc583ad5a7658