// ==========================================================================
// 所属模块：lib - protect
// 生成日期：2024-02-19 00:24:00 +0800 CST
// 生成路径: lib/protect.js
// 生成人：Cato
// 功能描述：用于需要保护的脚本文件及数据内容的加解密。
// ==========================================================================

// 内部数据加密
function encryptData(inputData) {
    // crypto.rc4(inputData,'/crypto.encrypt/').toBase58.encoding().toString();
    return crypto.rc4('/crypto.encrypt/',inputData).toBase58.encoding().toString()
}

// 内部数据解密
function decryptData(inputData) {
    // crypto.rc4(inputData,'/crypto.encrypt/').toBase58.decoding().toString();
    let data = encoding.from(inputData).toBase58.decoding().toString()
    return crypto.rc4('/crypto.encrypt/',data).toString()
}

// var scriptData = global.ps + '\n' + global.js + '\n'  + decode(function.ps) + '\n' + function.js
// var prodPath = scriptPath.replace('zcx.the.bb', 'prod.the.bb')

// 写出加密后的js到正式
// const scriptContext = fs.read(prodPath.replace('prod.the.bb', 'zcx.the.bb'))
// if (scriptContext.toString().substring(0, 11) != '@Protected-') {
//   const ps = crypto.script.get(scriptContext.toBytes, payload.get().headers.Signet)
//   fs.write(ps.toString(), prodPath)
// }

//   ps = fs.read('/www/wwwroot/prod.the.bb/function.js')
//   ps = crypto.script.get(ps)
//   console.log('cryptOut', ps)

// 写出加密后的bin到正式
// crypto.script.encode(
//   `${scriptPath}\\index.html`, // 执行脚本
//   `${prodPath}\\data.bin` // 加密路径
// )

// 读取加密后的bin文件并decode，得到html的string，然后通过replace填充字符串完成整个html内容，然后通过return返回给前端
// var html = crypto.script.decode(
//   'C:\\PROJECT\\xkh-h5\\api\\user\\add\\data.bin',
//   'crypto_test' // 解密密码
// )

// var html = '<h2>XAFWD1231</h2>'

// html.replace('XAFWD1231', 'TEST')

// return html
// <h2>TEST</h2>

// crypto.script.decode(
//   'C:\\PROJECT\\xkh-h5\\api\\user\\add\\function1.js',
//   'C:\\PROJECT\\xkh-h5\\api\\user\\add\\function2.js', // 解密路径
//   'crypto_test' // 解密密码
// )

// console.log(scriptPath)