![](/img/trans.png)
[英]How can i insert decoded json data using json string in php mysql database
[英]how to encrypt string data so that it can only be decoded by the computer it resides on?
说我有从客户端和服务器通过AJAX来回发送的字符串。
但是我希望在通过客户端发送之前对其进行安全加密。 一旦将其放在服务器上,就应该对其进行解密和处理。
另外,密码加密如何工作? 用户注册,并在输入密码后将其加密在服务器上并存储在数据库中。 用户登录时该怎么办? 用户密码是否再次加密并与数据库中的密码匹配?
可以这样使用非对称算法 :
所有这些事情都已经实现和测试,那么为什么要重新发明轮子而不直接使用HTTPS? 这将保证您在客户端和服务器之间的任何交换都将被加密。
关于登录问题
可以使用多种方式使用密码。 最直接(但不太安全)的是密码本身以明文形式发送到服务器的位置。 其他方法仍然需要发送密码,但必须使用服务器的公共密钥对其进行加密。 其他方法涉及身份验证挑战 ,服务器将向服务器发送一个随机值/字符串,客户端将其转换为某种哈希函数(当然,将密码作为密钥),然后将转换结果发送到服务器进行比较它可以自己计算相同的过程。 使用质询的优势在于,它可以防止中间人攻击 ,因为每次身份验证消息都是不同的(因此,固定消息将允许“中间人”重播与之关联的已记录数据包序列密码传递,因此错误地标识了自己)
在 [措辞不佳] 主要问题上 (“只能在其所在的计算机上解码” ...)
给定计算机上存在数个物理设备 (加密狗等)以及固有身份指示符(MAC地址),以及硬盘上的逻辑结构/内容(尽管我们使用的是“软”软件,即更容易实现)可移植区域...),可用于识别给定的主机,并因此提供必要的元素(键等)来解码消息。
但是,我认为这个问题更为笼统:
两台计算机可能秘密地共享一个密钥,它们可以用来交换其他计算机无法(轻松)解密的信息。 这些密钥可以放在外部,也可以在每个新会话进行时进行协商,首先使用公钥加密,例如作为Diffie-Hellman密钥交换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.