我需要將byte[]
有效存儲到JWT claim值中,具體爲。在JWT的有效負載私有索賠值中有效存儲二進制數據
有什麼比將byte[]
轉換爲base64URL更高效嗎? 即
Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(arrToEnc);
最終目標是(正常JWT解碼後)來編碼一個List<UInt16>
使得每個UInt16
是至多2個字節。
考慮到byte[]
- > UTF8字符串。即System.Text.Encoding.UTF8.GetString(arrToEnc);
這是怎麼智威湯遜在一般使用的Base64編碼它們完全分開......
謝謝..
應用於你能壓縮base64編碼之前壓縮的內容? Base64增加了33%的開銷。可能的壓縮比較大 – pedrofb
另一種方法是base85,但它只比base64提高了7℅,不常見,實現不能支持它。請參閱http://stackoverflow.com/questions/1443158/binary-data-in-json-string-something-better-than-base64我建議壓縮 – pedrofb
我可以並將使用gzip。我將編寫的編碼器和解碼器非常罕見。我認爲解決方案最終取決於索賠價值中'字符串'的字符集。我編碼到那個基地。 – ttugates