姚 鑫 · Mar 4, 2024 go to post

I want to use AESEncode , but a string longer than 12,000 bytes will generate a MAXSTRING error. How to resolve

姚 鑫 · Mar 4, 2024 go to post

ClassMethod AESECBPKCS5PaddingEncrypt(str As %String, key As %String = "") As %String
{
str = $zcvt(str, "O", "UTF8")
paddingLen = 16 - ($length(str) # 16)
list = $lb(1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f")
paddingStr= "0" _ $lg(list, paddingLen)
padding = ..Repeat($c($zhex(paddingStr)) ,paddingLen)
ret  = str _ padding
ret = ##class(%SYSTEM.Encryption).AESEncode(ret, key)
ret = ##class(%SYSTEM.Encryption).Base64Encode(ret)
ret
}

姚 鑫 · Mar 4, 2024 go to post

USER>w $zv
Cache for Windows (x86-64) 2016.2 (Build 736U) Fri Sep 30 2016 11:46:02 EDT

姚 鑫 · Mar 4, 2024 go to post

AESCBCEncrypt cannot satisfy AESEncode ECB. Is there an AESECBEncryptStream method?