小程序安全防护体系构建与实践:从开发到运营的全方位保障
来源: | 作者:19192552116 | 发布时间: 2025-03-24 | 102 | 分享到:



function secureSetStorage(key, data, secret) {
  const encrypted = CryptoJS.AES.encrypt(JSON.stringify(data), secret).toString()
  wx
.setStorageSync(key, encrypted)
}


function secureGetStorage(key, secret) {
  const encrypted = wx.getStorageSync(key)
  const decrypted = CryptoJS.AES.decrypt(encrypted, secret).toString(CryptoJS.enc.Utf8)
  return JSON.parse(decrypted)
}
3.3 防篡改与防重放
请求签名机制:
1. 将请求参数按规则排序
2. 加上时间戳和nonce(随机字符串)
3. 使用密钥生成HMAC签名
4. 将签名和nonce放入请求头
javascript
复制
// 请求签名示例
function generateSignature(params, secretKey) {
  const sortedParams = Object.keys(params).sort().map(k => `${k}=${params[k]}`).join('&')
  const timestamp = Math.floor(Date.now() / 1000)
  const nonce = Math.random().toString(36).substring(2, 10)
  const stringToSign = `${sortedParams}×tamp=${timestamp}&nonce=${nonce}`