开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
Computer Science

IRIS / Chronicles 数据结构备忘录

数据结构的内容主要涉及到索引和全局变量。 这部分的内容的问题在于概念多,和普通的数据库对应的内容也不太一样,需要花点时间了解。 networked items 有关英文的解释是: Networked items that point to databases that use padded-string IDs always store the external (unpadded) form of the target record’s .1 item. This eliminates the padding factor dependency, which could be changed through a data conversion. If the database networked to uses numeric IDs, then the value stored in the item is identical to the record’s ID. 说人话就是对于一个 Item 是 networked 的话,这个 Item 中存储的数据就是根据 .1 这个 Item external (unpadded) 来的。 这里有 2 个概念,.1 这个 Item 可以存字符串,.1 这个Item 也可以存全是数字,当如果 .1 存储是全是数字的话,networked 的存储数据和 .1 中的数据是相同的。 但是,因为 padded 的问题,针对 String 的 Padded 的时候,会在字符串前面加空格,这会导致在数据转换的时候可能会不一致。 这个知识点就想表达的意思就是可能数据在转换的时候会不一致。 Chronicles Locators Chronicles Locators describe the subscripts used to define nodes in Chronicles Data Globals. The 5 standard locators are INI, ID, DAT, Item # and Line #. In addition to being subscripts to globals, the locators are also used as input to various routines and utilities, as well as arguments to Chronicles API. Chronicles Locators 主要用途就是把数据从 Chronicles Data Globals 读取出来。要读取 Chronicles Data Globals 中的数据,需要有 5 个参数:INI, ID, DAT, Item # 和 Line #。 用中文来翻译的话,这个应该叫做 Chronicles 数据全局。 Chronicles Data Globals 可以认为是 Chronicles 和 M 语言全局变量中的一个映射。 根据我们对 Chronicles 数据库的了解,Chronicles 将会把数据映射到 M 语言的全局变量中,然后提供语言级别的调用,这个和我们常用的关系数据库不一样,因为我们不可能把数据库中的内容全部映射到一个程序语言的全局变量中,这会导致溢出的。 但 Chronicles 这个数据就是这样操作的。 Remember to look before you leap; view your test data before writing code to load it, so you know what to expect. To create your test data, use Chronicles. To see the raw data and locators along with most translations, use the Record Viewer. The important locators can be seen in the chart below and will be critical to loading in the next section. Determine the number of lines of data…

2024年04月08日 0Comments 446Browse 0Like Read more
Computer Science

IRIS / Chronicles 基础概念备忘录

数据类型存储不同 在 IRIS 中有 几种数据类型,但是这几种数据类型怎么存的和常用的关系数据库不太一样。 String:字符串类型,这个类型包括有字母和数字,需要注意在这里有一个 Padded 的概念,对与 String 类型的数据,如果 Padded 后会在字符串的最前面加上一个空格。 Numbers:对于数字,将会把没有意义的空格删除后存储。 Categories:是一系列的选择,只有 Category 的值被存储(only the category value is stored)。 Dates:存储单位是天,在数据库中会以数字来表示,这个数字就是以1840-12-31这一天为基准进行计算,每多一天就增加 1 ,一直到当前的日期。 Times:存储单位是秒,数字是从午夜 0 点开始算的,每多一秒就增加 1 ,当到达午夜零点后再次归零,以第二天开始。 Instants:存储单位是秒,数字是从1840-12-31这天为基准开始计算的,每增加 1 秒就增加 1。 Chronicles 中针对每个数据类型的存储,更多的会使用数字,因为 Chronicles 担心使用字符串有转换问题,时区问题。 https://www.isharkfly.com/t/iris-chronicles/15620

2024年04月08日 0Comments 468Browse 0Like Read more
Computer Science

一个更难破解的加密算法 Bcrypt

BCrypt是由Niels Provos和David Mazières设计的密码哈希函数,他是基于Blowfish密码而来的,并于1999年在USENIX上提出。 除了加盐来抵御rainbow table 攻击之外,bcrypt的一个非常重要的特征就是自适应性,可以保证加密的速度在一个特定的范围内,即使计算机的运算能力非常高,可以通过增加迭代次数的方式,使得加密速度变慢,从而可以抵御暴力搜索攻击。 Bcrypt可以简单理解为它内部自己实现了随机加盐处理。使用Bcrypt,每次加密后的密文是不一样的。 对一个密码,Bcrypt每次生成的hash都不一样,那么它是如何进行校验的? 虽然对同一个密码,每次生成的hash不一样,但是hash中包含了salt(hash产生过程:先随机生成salt,salt跟password进行hash); 在下次校验时,从hash中取出salt,salt跟password进行hash;得到的结果跟保存在DB中的hash进行比对。 在Spring Security 中 内置了Bcrypt加密算法,构建也很简单,代码如下: @Bean public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); } 生成的加密字符串格式如下: $2b$[cost]$[22 character salt][31 character hash] $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy \__/\/ \____________________/\_____________________________/ Alg Cost Salt Hash 上面例子中,$2a$ 表示的hash算法的唯一标志。这里表示的是Bcrypt算法。 10 ​表示的是代价因子,这里是2的10次方,也就是1024轮。 N9qo8uLOickgx2ZMRZoMye ​是16个字节(128bits)的salt经过base64编码得到的22长度的字符。 最后的IjZAgcfl7p92ldGxad68LJZdL17lhWy​是24个字节(192bits)的hash,经过bash64的编码得到的31长度的字符。   https://www.isharkfly.com/t/bcrypt/15615

2024年04月08日 0Comments 383Browse 0Like Read more
Computer Science

PHP 中的 $2y$10,PHP 字符串加密函数 password_hash

PHP 用户密码加密函数 password_hash 自PHP5.5.0之后,新增加了密码散列算法函数(password_hash),password_hash() 使用足够强度的单向散列算法创建密码的散列 Hash。 password_hash() 兼容 crypt()。 所以, crypt() 创建的密码散列也可用于 password_hash()。 password_hash不需要再单独存储盐值,而且每次加密的值都不一样,我们只需要存储加密字符串,验证时用 password_verify() 方法即可得出结果! 当前支持的算法 PASSWORD_DEFAULT - 使用 bcrypt 算法 (PHP 5.5.0 默认)。 注意,该常量会随着 PHP 加入更新更高强度的算法而改变。 所以,使用此常量生成结果的长度将在未来有变化。 因此,数据库里储存结果的列可超过60个字符(最好是255个字符)。 PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创建散列。 这会产生兼容使用 “2y” 的 crypt()。 结果将会是 60 个字符的字符串, 或者在失败时返回 FALSE。 PASSWORD_ARGON2I - 使用 Argon2 散列算法创建散列。 返回值 返回散列后的密码, 或者在失败时返回 FALSE。 使用的算法、cost 和盐值作为散列的一部分返回。所以验证散列值的所有信息都已经包含在内。 这使 password_verify() 函数验证的时候,不需要额外储存盐值或者算法的信息。 加密 我们想要使用默认算法散列密码。 当前是 BCRYPT,并会产生 60 个字符的结果。 请注意,随时间推移,默认算法可能会有变化, 所以需要储存的空间能够超过 60 个字符 */echopassword_hash(“rasmuslerdorf”, PASSWORD_DEFAULT); 输出类似结果: $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a   https://www.isharkfly.com/t/php-2y-10-php-password-hash/15617

2024年04月08日 0Comments 761Browse 0Like Read more
Computer Science

Bcrypt 算法每次加密的输出是不是都一样

使用 Bcrypt 算法对每次加密输出的结果是不一样的。 BCrypt算法是一种基于哈希算法的算法。这种算法是不可逆的。 通过BCrypt算法进行编码后的结果,长度固定为60字符。   使用同一个原文进行反复编码,每次得到的结果都是不同的,因为在编码过程中,BCrypt使用了随机的盐,并且,使用的盐也作为编码结果的一部分保存了下来。 从下面的运行可以看到,每次生成新加密字符串,都不会是一样的。 BCrypt 算法比 MD5 更加安全。 https://www.isharkfly.com/t/bcrypt/15618

2024年04月08日 0Comments 905Browse 0Like Read more
Computer Science

密码加密算法都在更替

在以前用的 MD5 算法,现在充其量也就只是一个摘要算法。     上面的图片显示来看已经不够安全了。     目前存储用户密码使用更多的会向 Bcrypt 算法转移。   https://www.isharkfly.com/t/topic/15619

2024年04月08日 0Comments 480Browse 0Like Read more
Computer Science

Laravel 项目如何运行

如有一个 Laravel 项目,在配置好 PHP 版本和运行环境后,可以直接在项目下直接运行: php artisan serve 来启动你的项目。     通过浏览器查看 当项目运行后,默认的启动端口为 8000,可以通过浏览器来进行查看运行的 Laravel 项目。     https://www.isharkfly.com/t/laravel/15614

2024年04月08日 0Comments 374Browse 0Like Read more
U.S.

蒙特利尔 - 让塔隆集市

Jean Talon Market 集市,这也是让当地人最离不开这个街区的原因之一是赫赫有名的让塔隆集市。     如果要问在蒙特利尔这边有那个地方能让你感觉到集市的味道,那么非这个莫属了。     有过一种在国内集市的感觉,如果非要说有那么一点点不同的话,可能也就是相对更加整洁一点点吧。 但需要的烟火气息是一点都没有少,在这里你可以点上现吃的生蚝,你也可以随便拿上一杯咖啡边走边逛。     如果你在美国,大概率的重量单位都是磅,在这个集市你能够看到久违的公斤计量单位。     来到蒙特利尔有人说和去了一趟巴黎差不多,对中国人来说却能感受到久违的集市气息。    

2024年04月07日 0Comments 363Browse 0Like Read more
Computer Science

Composer Windows 安装

Composer 的下载地址为:Composer 1   2024-04-06_16-46-401108×840 50.9 KB   运行安装程序 当启动安装程序后单击下一步继续。 选择 PHP 路径 如果你的计算机上没有安装 PHP 的话,Composer 的安装无法继续。 你需要选择你本地安装的 PHP 路径。 配置代理地址 默认的情况下,可以不用配置代理地址。 确认安装路径 在这个界面中确定需要进行的安装路径。 当安装路径确定后,下一步继续。 安装进程 安装的过程很快,一会就会完成。 设置路径 这个步骤就是给你的的一些提示。 下一步继续就行。 完成安装 当能看到这个界面的时候,说明安装已经完成。 单击完成,结束安装。 查看运行版本 运行命令 composer -V 来查看当前 composer 运行的版本。 需要注意的是 V 是大写的。   https://www.isharkfly.com/t/composer-windows/15600  

2024年04月07日 0Comments 640Browse 0Like Read more
12345
Archives
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,364)
    • Confluence (663)
    • Gradle (12)
  • U.S. (495)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1