当前位置: 首页 > news >正文

济南网站建设触屏网站开发教程

济南网站建设,触屏网站开发教程,苏州做网站品牌公司,如果启动浏览器就能直接打开一个常用的网站主页_要怎么做?自从我在这里发表上一个帖子以来已经有两个多月了#xff0c;但是今年六月和七月非常忙碌而密集。 首先#xff0c; Confitura的组织#xff08;欧洲最大的Java开发人员免费会议#xff09;参加了我所有的免费晚会#xff0c;然后在相当紧张的住院期间#xff0c;我们的第… 自从我在这里发表上一个帖子以来已经有两个多月了但是今年六月和七月非常忙碌而密集。 首先 Confitura的组织欧洲最大的Java开发人员免费会议参加了我所有的免费晚会然后在相当紧张的住院期间我们的第二个儿子出生了。 但是现在我将尝试再次定期写博客请继续关注。 在本文中我将简要介绍如何使用Jasypt库以一种简单透明的方式将加密的数据存储在数据库中并检索已解密的数据。 我们的用例将是存储Twitter Api凭据以便它们在我们的数据库中是安全的但仍易于检索并用于在我们的时间轴中发布更新。 因此我们有一个简单的实体来代表我们的设置项 Entity public class SettingsItem implements Serializable {IdGeneratedValue(strategy javax.persistence.GenerationType.AUTO)private Integer id;private String name;private String encryptedValue; } 在此表中我们将存储Twitter消费者密钥Twitter访问令牌等的值。 我们想要实现的是当我们创建具有值作为纯文本的SettingItem对象然后对其进行持久化时将自动执行加密因此在数据库中我们已对String进行了加密。 当然当我们从数据库中检索数据时我们希望开箱即用地看到解密的String而无需付出额外的努力。 Jasypt进行救援 Jasypt是一个用Java编写的简单加密库。 它使开发人员免于处理低级配置细节并使整个加密过程变得简单而直接。 而且现在最有趣的是它还与Hibernate很好地集成在一起可以对存储在数据库中的数据进行无缝加密/解密。 设定 要使用Jasypt及其Hibernate集成模块我们必须在pom中添加以下两项 dependencygroupIdorg.jasypt/groupIdartifactIdjasypt/artifactIdversion1.9.0/version/dependencydependencygroupIdorg.jasypt/groupIdartifactIdjasypt-hibernate4/artifactIdversion1.9.0/version/dependency自订类型 然后我们必须在实体中声明自定义的Hibernate类型TypeDef TypeDef(nameencryptedString,typeClassEncryptedStringType.class,parameters {// value will be used later to register encryptorParameter(nameencryptorRegisteredName, valueSTRING_ENCRYPTOR)} ) Entity public class SettingsItem implements Serializable {// (...) } 然后在同一个类中我们可以标记我们的ActivatedValue字段以使用此自定义类型 Type(typeencryptedString)private String encryptedValue;注册加密器 我们快完成了。 我们要做的最后一件事是在HibernatePBEEncryptorRegistry类中注册加密器。 这可以在我们的应用程序的初始化类例如ServletContext中完成也可以仅在具有mainString [] args方法的类中完成 String password System.getProperty(jasypt.password);StandardPBEStringEncryptor strongEncryptor new StandardPBEStringEncryptor();strongEncryptor.setPassword(password);HibernatePBEEncryptorRegistry registry HibernatePBEEncryptorRegistry.getInstance();registry.registerPBEStringEncryptor(STRING_ENCRYPTOR, strongEncryptor); 这里重要的一点是通过使用System.getProperty或System.getenv我们可以安全地配置我们的加密机制通过在服务器计算机上设置适当的值在运行时提供密码。 摘要 作为总结一个简短的通过测试表明我们的解决方案有效 public class SettingsItemRepositoryShould extends IntegrationTest {Autowiredprivate SettingsItemRepository repository;BeforeClasspublic static void init() {StandardPBEStringEncryptor strongEncryptor new StandardPBEStringEncryptor();strongEncryptor.setPassword(JohnDoe);HibernatePBEEncryptorRegistry registry HibernatePBEEncryptorRegistry.getInstance();registry.registerPBEStringEncryptor(STRING_ENCRYPTOR, strongEncryptor);}Testpublic void shouldEncryptAndDecryptValue() {// GivenString settingName test;String value EncryptMe;// Whenrepository.save(new SettingsItem(settingName, value));// ThenSettingsItem settingsItem repository.findByName(settingName);assertThat(settingsItem.getEncryptedValue()).isEqualTo(value);} } 参考通过Code Hard Go Pro博客从我们的JCG合作伙伴 Tomasz Dziurko 透明地持久存储数据库中的数据并检索加密数据 。 翻译自: https://www.javacodegeeks.com/2013/08/transparently-persist-and-retrieve-encrypted-data-from-database.html
http://www.pierceye.com/news/31579/

相关文章:

  • 广西智能网站建设找哪家建站平台和网站建设的区别
  • 京东网站是刘强冬自己做的吗网站建设流量入口
  • 通化县住房和城乡建设局网站服装公司网站建设方案
  • 菏泽网站建设仕佳互联小企业网站维护一年多少钱
  • 怎么在wordpress建英文网站建设网站费用多少
  • 用宝塔给远程网站做备份维护公司
  • 外国网站架构wordpress定制器
  • 大型免费网站制作迅当网络深圳外贸网站建设
  • 凡客建站登录公司网站建设提纲
  • 长春建设信息网站六安城市网电话是多少
  • 中国最大的网站制作公司蛋糕方案网站建设
  • 桂林建网站苍南最好的网站建设公司
  • 安阳网站制作价格电商网站设计方案
  • 有关小城镇建设的网站网络系统管理与维护机考
  • 丰县网站建设好看的学校网站模板
  • 客厅装修风格优化服务质量
  • 网站建设里的知识连云港做网站建设
  • 贺州网站制作郑州郑州网站建设河南做网站公司哪家好
  • 东城免费做网站家居装修
  • 浙江短视频seo优化网站比较好的网站建设公司
  • 中国站长之家网站模板网站是什么
  • 网站建设的途径云南做网站报价
  • 网站开发文件上传到服务器如何建立网站空间
  • 襄阳做网站价格如何创建自己的网页
  • 六安网站制作金狮中小企业做网站推广
  • 泸州百拓网站建设做旅游网站的任务
  • 网站开发设计思路wordpress添加搜索框
  • 怎么建设网站百度搜索的到黄骅港什么时候开海
  • 企业免费做网站h5游戏网站开发
  • 中山网站建设如何wordpress注册后绑定qq邮箱