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

四川网站建设平台php开发微信小程序

四川网站建设平台,php开发微信小程序,虚拟主机怎么做淘客网站,建筑设计公司属于什么行业类别span stylefont-size:14px;为了更好的用户体验,移动APPclient一般都会将用户信息进行保存以便兴许能够自己主动登录./span 保存了用户信息便涉及到了安全问题. 解决办法大概有一下几种: 1.首先,假设client和服务端都是你来设计开发,那么有两种比較… span stylefont-size:14px;为了更好的用户体验,移动APPclient一般都会将用户信息进行保存以便兴许能够自己主动登录./span 保存了用户信息便涉及到了安全问题. 解决办法大概有一下几种: 1.首先,假设client和服务端都是你来设计开发,那么有两种比較可靠的方案 A.client将passwordHash加密,登录成功后将hash值保存到Sqlite.服务端得到username和hash值,採用相同的算法对password进行Hash运算,然后和用户传来的hash值进行比較,一致则登录成功.更加可靠的是对password加盐加密.比如能够採用PBKDF2加盐加密. span stylefont-size:14px;public static String createHash(String password)throws NoSuchAlgorithmException, InvalidKeySpecException {return createHash(password.toCharArray());}/*** Returns a salted PBKDF2 hash of the password.* * param password* the password to hash* return a salted PBKDF2 hash of the password*/public static String createHash(char[] password)throws NoSuchAlgorithmException, InvalidKeySpecException {// Generate a random saltSecureRandom random new SecureRandom();byte[] salt new byte[SALT_BYTE_SIZE];random.nextBytes(salt);// Hash the passwordbyte[] hash pbkdf2(password, salt, PBKDF2_ITERATIONS, HASH_BYTE_SIZE);return PBKDF2_ITERATIONS : toHex(salt) : toHex(hash);}/span 加密后的字符串为1000:1507039de0a3c2c88ddf896233278e37d05fd8a0fadc570d:99222374678d4afe5d7d9bf9be4786e17f045ac217c6a2ca, 1000为迭代的次数,后面各自是salt和hash值. 服务端得到这个字符串后,从中解析出迭代次数,salt,hash1值,然后採用相同的算法对数据库里面的password进行计算 public static boolean validatePassword(String password, String correctHash)throws NoSuchAlgorithmException, InvalidKeySpecException {return validatePassword(password.toCharArray(), correctHash);}/*** Validates a password using a hash.* * param password* the password to check* param correctHash* the hash of the valid password* return true if the password is correct, false if not*/public static boolean validatePassword(char[] password, String correctHash)throws NoSuchAlgorithmException, InvalidKeySpecException {// Decode the hash into its parametersString[] params correctHash.split(:);int iterations Integer.parseInt(params[ITERATION_INDEX]);byte[] salt fromHex(params[SALT_INDEX]);byte[] hash fromHex(params[PBKDF2_INDEX]);// Compute the hash of the provided password, using the same salt,// iteration count, and hash lengthbyte[] testHash pbkdf2(password, salt, iterations, hash.length);// Compare the hashes in constant time. The password is correct if// both hashes match.return slowEquals(hash, testHash);} 假设hash2和hash1一致,则登录成功.同一时候client将加密后的字符串保存到本地数据库,下次登录时直接从数据库读取. B.使用非对称加密算法对password进行加密. client使用公钥加密password得到加密串然后将其发送到服务端服务端使用私钥解密password。进行验证登录成功后client将加密串保存到本地便于下次自己主动登录使用非对称加密比較可靠。即使加密串被泄露也无法得到password 假设你仅仅是负责client。对服务端无能为力那么你可能仅仅能使用对称加密了如你正在为学校图书馆写个client。你还想设置自己主动登录。那么你本地仅仅能使用对称加密了将加密串保存到本地。然后下次自己主动登录时。从数据库取出加密串然后解密服务端仅仅识别原始的password 这样的情况。你仅仅能考虑怎样生成加密密钥以及怎样保存密钥怎样混淆 考虑了一种方法 加解密函数 ES(passwd,key,encode); str1  ES(passwd,key,encode); str2  DES(key,str1,encode); 本地数据库中保存 str1:str2. 解密时str2以str1解密得到key. 然后。str1以key解密得到passwd. 非对称加密仅仅能以这样的逻辑上的复杂度添加password的强度 3. 使用JNI加解密。 另參考文章 http://blog.csdn.net/hengyunabc/article/details/34623957 android中使用jni对字符串加解密实现分析 加盐password哈希怎样正确使用 转载于:https://www.cnblogs.com/jhcelue/p/7190220.html
http://wiki.neutronadmin.com/news/253105/

相关文章:

  • 宿迁市建设局投诉网站首页网站引导页作用
  • 网站开发课程教学目标广东500强企业名单一览表
  • 学习网站建设难吗沈阳专业网站制作团队
  • 深圳自建站有哪些大公司浙江省网站域名备案
  • 网站模板下载百度云链接怎么做的wordpress 授权插件
  • 搭建网站是什么中国交通建设股份有限公司官网
  • 网站名称如何设置招聘网站设计师要求
  • 网站索引量怎么做网站小图标
  • 关于公司网站开发的事项网站怎么在移动端推广
  • 宁波哪家做网站好一流的高密网站建设
  • 金泉网做网站多少钱ftp上传网站之后怎么做
  • 新手做网站怎么上传系统微网站免
  • 广州营销型企业网站建设网站推广服务网站连锁
  • 做暖dnf动态ufo网站网站点击量在哪里看
  • 标准网站建设合同模板网站
  • 行业推广做哪个网站好口岸地区网站建设内容
  • 整站优化网站报价旅游景区网站建设策划书
  • 国内建站 wordpress温州营销网站制作报价
  • 做企业网站用什么程序潍坊科技学院
  • wordpress sora 公开版网站内部优化方法
  • 最好的设计师网站网站怎么集成支付宝
  • 易县做网站公司想建个网站
  • 有做自由行包车的网站网站建设管理和维护
  • 模板网站好还是自助建站好宠物网站页面设计ps
  • 福州网站制作维护企业邮箱怎么注册域名
  • 建e网站宣武网站建设服务
  • 大连网站开发选领超科技app开发定制公司
  • html5好的网站模板seo搜索引擎优化原理
  • 淄博网站建设找李光明制作网站建设
  • 重庆万州网站建设找谁wordpress用户注册插件