【发布时间】: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