Skip to content

Instantly share code, notes, and snippets.

@mzuvin
Created December 18, 2022 18:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mzuvin/a212843e21367411ceb33608fb260ced to your computer and use it in GitHub Desktop.
Save mzuvin/a212843e21367411ceb33608fb260ced to your computer and use it in GitHub Desktop.
```sql
SELECT
substr(hguid, 7, 2) || substr(hguid, 5, 2)
|| substr(hguid, 3, 2) || substr(hguid, 1, 2) || '-'
|| substr(hguid, 11, 2) || substr(hguid, 9, 2) || '-'
|| substr(hguid, 15, 2) || substr(hguid, 13, 2) || '-'
|| substr(hguid, 17, 4) || '-'
|| substr(hguid, 21, 12)
AS guid
FROM (SELECT hex(guid) AS hguid FROM messages)
````
source: https://stackoverflow.com/a/62638803/9218468
@mzuvin
Copy link
Author

mzuvin commented Dec 18, 2022

public static string EncodeGuid(string value)
    {
        var array = value.ToArray();
        var chararray = Guid.Empty.ToString().ToArray();
        chararray[6]=array[0]; //0
        chararray[7]=array[1]; //1
        chararray[4]=array[2]; //2
        chararray[5]=array[3]; //3
        chararray[2]=array[4]; //4
        chararray[3]=array[5]; //5
        chararray[0]=array[6]; //6
        chararray[1]=array[7]; //7
        chararray[8]=array[8]; //8-
        chararray[11]=array[9];
        chararray[12]=array[10];
        chararray[9]=array[11];
        chararray[10]=array[12];
        chararray[13]=array[13]; //-
        chararray[16]=array[14]; //1
        chararray[17]=array[15]; //2
        chararray[14]=array[16]; //3
        chararray[15]=array[17]; //4
        chararray[18]=array[18];
        chararray[19]=array[19];
        chararray[20]=array[20];
        chararray[21]=array[21];
        chararray[22]=array[22];
        chararray[23]=array[23];
        chararray[24]=array[24];
        chararray[25]=array[25];
        chararray[26]=array[26];
        chararray[27]=array[27];
        chararray[28]=array[28];
        chararray[29]=array[29];
        chararray[30]=array[30];
        chararray[31]=array[31];
        chararray[32]=array[32];
        chararray[33]=array[33];
        chararray[34]=array[34];
        chararray[35]=array[35];
        return new String(chararray);
    }

    public static string DecodeGuid(string value)
    {
        var array = value.ToArray();
        StringBuilder builder = new StringBuilder();
        builder.Append(array[6]);
        builder.Append(array[7]);
        builder.Append(array[4]);
        builder.Append(array[5]);
        builder.Append(array[2]);//
        builder.Append(array[3]);//
        builder.Append(array[0]);
        builder.Append(array[1]);
        builder.Append(array[8]);//-
        builder.Append(array[11]);
        builder.Append(array[12]);
        builder.Append(array[9]);
        builder.Append(array[10]);
        builder.Append(array[13]);//-
        builder.Append(array[16]);//1
        builder.Append(array[17]);//2
        builder.Append(array[14]);//3
        builder.Append(array[15]);//4
        builder.Append(array[18]);
        builder.Append(array[19]);
        builder.Append(array[20]);
        builder.Append(array[21]);
        builder.Append(array[22]);
        builder.Append(array[23]);
        builder.Append(array[24]);
        builder.Append(array[25]);
        builder.Append(array[26]);
        builder.Append(array[27]);
        builder.Append(array[28]);
        builder.Append(array[29]);
        builder.Append(array[30]);
        builder.Append(array[31]);
        builder.Append(array[32]);
        builder.Append(array[33]);
        builder.Append(array[34]);
        builder.Append(array[35]);
        return builder.ToString();
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment