想直接通过AX 进行加密,恐怕没有那么容易处理,但是我们可以通过.net提供一些类库,实现该功能,就很容易,虽然X++和c#写法有些不同,但我们稍微的做一点变化,实现这一的功能也是一件很容易的事,下面我将给出实现代码
class MD5 { } public str IWS_MD5Encoding(str input) { ClrObject md5; System.Text.Encoding encoding; ClrObject inputArray; ClrObject hashArray; int i; ClrObject strBuilder; str result; InterOpPermission iop = new InterOpPermission(INteropKind::ClrInterop); ; iop.assert(); md5 = System.Security.Cryptography.MD5::Create(); encoding = System.Text.Encoding::get_Unicode(); inputArray = encoding.GetBytes(input); strBuilder = new System.Text.StringBuilder(); hashArray = md5.ComputeHash(inputArray); for(i = 0; i < 16; i++) { strBuilder.AppendFormat("{0:x2}",hashArray.GetValue(i)); } result = strBuilder.ToString(); CodeAccessPermission::revertAssert(); return result; } static void main(Args _args) { MD5 md; ; md = new MD5(); info(md.IWS_MD5Encoding("dingkui")); }
运行结果如图: