javascript - 加密个人数据 atob 时出错

标签 javascript gruntjs crypt

所以,这是问题:

Uncaught InvalidCharacterError: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.

当我尝试在 session 开始时对数据进行编码时会发生这种情况,因此在 auth.js 中我有以下内容:

function Auth($rootScope, $window, $state, Restangular, userInfo) {
  var token = $window.localStorage.token;
  if (token) {
    var payload = JSON.parse($window.atob(token.split('.')[1]));
    $rootScope.currentUser = payload.user;
  }

  return {
    signup: function(userinfo, callback) {
      var cb = callback || angular.noop;
      Restangular.all('auth/signup').post(userinfo).then(function() {
        return cb();
      }, function(response) {
        return cb(response.data);
      });
    },
    login: function(user, callback) {
      var cb = callback || angular.noop;
      Restangular.all('auth/login').post(user).then(function(data) {
        $window.localStorage.token = data.token;
        var payload = JSON.parse($window.atob(data.token.split('.')[1]));
        $rootScope.currentUser = payload.user;
        return cb();
      }, function(response) {
        delete $window.localStorage.token;
        return cb(response.data);
      });
    }

在其他机器上它工作正常,但我有这个问题。那么,您能告诉我从什么开始寻找解决方案吗? Thisthis已经看到了。我脑子里没有任何想法

最佳答案

我想我们看到的是同一个图坦卡蒙。 而不是:

$window.atob(data.token.split('.')[1])

试试这个:

window.atob(window.localStorage['YOUR-ELEMENT'].split('.')[1])

“$window”未定义。

关于javascript - 加密个人数据 atob 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28068394/

相关文章:

gruntjs - 文件夹命名 : src & dist vs. src & build, dev & dist

encryption - 使用 Talend Data Integration 对 .properties 文件中的密码进行加密/加密和解密

javascript - 哪里是存储非代码文件(例如 mp3)以便使用 codepen 进行 javascript 测试的好地方?

javascript count present i value with previous loop output 值

javascript - 制作搜索功能ajax

jasmine - 从grunt-contrib-jasmine记录

javascript - 检查 JS 中的 typeof 错误

css - yeoman/cssmin - 最小化,但不连接 CSS 文件

即使密码后面有后缀,PHP crypt也会返回true

python - 找不到 crypt 模块(python3.7)