如何在angular中加密和解密URL

如何在angular中加密和解密URL,angular,angular6,Angular,Angular6,在我的项目中,这里有两个模块(员工、代理)。我点击代理模块列表,URL显示代理/列表并更新一个代理,URL传递id对应的id。但我希望加密数据在URL中传递更新和列表。那么如何在Angular 6中传递加密(用户不理解)值呢 return this.repository.postData('api/agent/list', requestObj); 您可以通过使用atob和btoa功能来实现这一点。以下是一个例子: console.log(btoa("some data")); // thi

在我的项目中,这里有两个模块(员工、代理)。我点击代理模块列表,URL显示代理/列表并更新一个代理,URL传递id对应的id。但我希望加密数据在URL中传递更新和列表。那么如何在Angular 6中传递加密(用户不理解)值呢

return this.repository.postData('api/agent/list', requestObj);


您可以通过使用
atob
btoa
功能来实现这一点。以下是一个例子:

console.log(btoa("some data")); // this will encode the data 
console.log(atob("some data")); // this will decode the data 
因此,您需要像这样实施:

return this.repository.postData('api/agent/list', btoa(requestObj));
您可以通过以下方式在onInit函数上访问参数:

注意:您的url应该类似于localhost:4200/lib/123/32

然后,sosid的值为123,xy的值为32

加密和解密的方式由您决定。有很多方法可以做到这一点。这取决于你。例如,您可以决定在编码时将每个ASCII键移一位,然后在解码时将它们移回原处

例如,如果您决定该移位,并且url是…/lib/353/47,那么实际数据将是:

abc : 242
xy : 36

在我的项目中添加btoa()函数。但是,更新第一条记录的url看起来像api/agent/details/1。先生,我将id更改为1到2。数据未检索。我认为这很有用,但我要求更新id显示加密字符串看起来像“api/agent/details/SGVsbG8gV29ybGQh”。是否可能???@SARAVANAKUMAR是的,如果我使用btoa(“密码”)对“密码”字符串进行编码;它看起来像这个console.log(btoa(“密码”);//o/p cGFzc3dvcmQ=so在ts中,当您想执行api调用或只想使用编码值时,您需要做的就是使用atob()对加密字符串进行解码;我期望的URL看起来像“localhost:4200/api/agent/details/SGVsbG8gV29ybGQh”。可能吗???请给出任何建议。。。但是,我的实际URL‘localhost:4200/api/agent/details/1’先生,这里有任何可能性……请向我推荐@Naveen
const abc = this.activatedroute.snapshot.params['abc'];
const xy = this.activatedroute.snapshot.params['xy'];
abc : 242
xy : 36