3q
- Log in to post comments
3q
nice
I want to use AESEncode , but a string longer than 12,000 bytes will generate a MAXSTRING error. How to resolve
ClassMethod AESECBPKCS5PaddingEncrypt(str As %String, key As %String = "") As %String
{
s str = $zcvt(str, "O", "UTF8")
s paddingLen = 16 - ($length(str) # 16)
s list = $lb(1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f")
s paddingStr= "0" _ $lg(list, paddingLen)
s padding = ..Repeat($c($zhex(paddingStr)) ,paddingLen)
s ret = str _ padding
s ret = ##class(%SYSTEM.Encryption).AESEncode(ret, key)
s ret = ##class(%SYSTEM.Encryption).Base64Encode(ret)
q ret
}
USER>w $zv
Cache for Windows (x86-64) 2016.2 (Build 736U) Fri Sep 30 2016 11:46:02 EDT
AESCBCEncrypt cannot satisfy AESEncode ECB. Is there an AESECBEncryptStream method?