import 'dart:convert'; //data [0-256) //return [0-256) List encrypt(List data, String key) { var mapTable = getSortTable(key); List result = []; for(var i=0; i${targetVal}"); result.add(targetVal); } return result; } //data base64 //return base64 List decrypt(List data, String key) { var mapTable = getSortTableDec(key); List result = []; for(var i=0; i(); mapTable.forEach((key, value){ mapTableDec[value] = key; }); return mapTableDec; } Map getSortTable(String key) { var mapTable = Map(); for(var i=0; i<=0xff; i++) { mapTable[i] = i; } List bytes = utf8.encode(key); for(var i=0; i<0xff; i++) { var val = randNum(bytes, i + 10, i + 1, 0xff + 1); int tmpVal = mapTable[val]!; mapTable[val] = mapTable[i]!; mapTable[i] = tmpVal; } return mapTable; } //[start, end) int randNum(List bytes, int index, int start, int end) { int total = 0; for (var i=0; i