【问题标题】:How to encrypt java object in rest web service response and decrypt in angularjs controller response?如何在rest web服务响应中加密java对象并在angularjs控制器响应中解密?
【发布时间】:2017-05-10 02:19:15
【问题描述】:

我在 rest web 服务调用中发送一个 java 对象,比如用户信息,并在 angularjs 控制器 $http.post 调用响应中显示一些信息作为数据

下面是我在 REST Web 服务调用中的一段代码

public @ResponseBody getEmployeeDetails(int id){
      Employee employee = getDetailsFromDB(id);
      return Response.put(employee).build();
}

在 angularjs 控制器中,我得到了

$http.post("./rest/getEmployeeDetails").then(function(data){
       var employee = data;
 });

所以在浏览器网络中,作为响应,我可以清楚地看到响应数据

data: "Name": "Bri Squared", "Role": "Admin", "Mobile": "9829399402"

在这种情况下,我需要隐藏信息,所以我需要加密和解密数据。任何人都可以建议我在 angularjs 控制器中的 rest web 服务调用和响应之间进行加密和解密的任何想法吗?

【问题讨论】:

  • 如果您担心最终用户可以看到您的数据,那么如果他们确定要查看这些数据,您将无能为力。例如,他们可以在您的 javascript 破译数据后立即在您的 javascript 中设置断点。一旦用户将其安装在计算机上并足够努力,就无法真正对用户隐藏任何内容。
  • @jingx 是对的。您正在构建一个 JavaScript 客户端。使用您的应用程序的任何人都可以在浏览器中查看数据。只需使用 HTTPS,这样您的数据就会在进入网络之前通过 SSL 进行加密。
  • SSL。智威汤逊。这个问题是有缺陷的,因为客户端代码在设计上并不安全。

标签: angularjs encryption public-key-encryption


【解决方案1】:

为了回答这个问题,您可以将 Crypto-js 用于 angular/2。 How to use CryptoJS with Angular 2 and TypeScript in WebPack build environment?

但提醒一下,Javascript 中确实没有什么可隐藏的。在 JavaScript 中进行加密和解密是没有用的。确保您的频道在 TSL 上的安全,任何您想对客户隐藏的内容都不要分享。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多