为spring webservice添加密码安全性
Posted
技术标签:
【中文标题】为spring webservice添加密码安全性【英文标题】:Adding security to spring webservice for password 【发布时间】:2017-02-28 14:26:33 【问题描述】:我是春天的新手。我需要制作一个用户注册表单,用户将在其中提供他们的基本详细信息和密码,我将其直接保存到数据库中。密码在注册 bean 中作为字符串数据类型,在数据库中作为 varchar。 现在我的方法是,我将从手机或网站向该 Web 服务进行服务调用,并以纯文本形式发送密码。 但我认为这不是一个好方法,因为在通过 web 服务或服务器代码或数据库发送数据时没有安全性,密码只是一个几乎没有验证的字符串。 是否有根据行业标准执行此任务的好方法。 提前谢谢你。
我还希望我的密码不被黑客或服务器截获。密码应从客户端以加密形式保存并保存在数据库中。管理服务器/数据库的任何人都不应看到该密码。
【问题讨论】:
以下链接中给出的答案可能会有所帮助Hashing password at client side 【参考方案1】:使用 Spring Security 提供的BCryptPasswordEncoder 对用户密码进行加密,并将哈希密码字符串存储到数据库中。
例子:
@Transactional
@Override
public User create(UserCreateForm form)
User user = new User();
user.setEmail(form.getEmail());
user.setPasswordHash(new BCryptPasswordEncoder().encode(form.getPassword()));
user.setRole(form.getRole());
return userRepository.save(user);
【讨论】:
以上是关于为spring webservice添加密码安全性的主要内容,如果未能解决你的问题,请参考以下文章
WebService -- Java 实现之 CXF ( 使用:Spring+CXF+Tomcat发布webService)