我有一个客户端数据存储在localStorage中.出于安全原因,我想加密数据.有没有办法使用Angularjs加密/解密客户端数据(而不是服务器数据)?
$scope.accountObj = { isErrorMsg:false,isReadonly:false,createAccountErr:false };
您可以使用cryptojs库来加密/解密数据.首先,您应该生成一些在加密过程中使用的密钥:
var secretKey = 'your-secret-key';
然后,您需要存储和声明数据的方法:
store : function (key,value) { var encryptedData = CryptoJS.AES.encrypt(angular.toJson(value),secretKey).toString(); window.localStorage.setItem(key,encryptedData); },get : function (key) { var encryptedData = window.localStorage.getItem(key); if (!_.isNull(encryptedData)) return angular.fromJson(CryptoJS.AES.decrypt(encryptedValue,secretKey).toString(CryptoJS.enc.Utf8)); return null; }
这里唯一的问题是密钥存储在客户端,这是这种加密的破坏逻辑.