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

建站系统wordpress下载专业网络营销

建站系统wordpress下载,专业网络营销,教育 企业 重庆网站建设,关键词优化排名软件哪家好编解码 编程工作中#xff0c;很复杂的一个环节的就是编解码和多语言。这里只讨论编解码的工作。 目标#xff1a; 常见文本编码的转换#xff08;GBK, Shift-JIS, UTF8, Unicode, ASCII)Web中常用的编码常见的加密算法(md5, sha1, HMAC, AES/DES, RSA) encoding/decodi…编解码 编程工作中很复杂的一个环节的就是编解码和多语言。这里只讨论编解码的工作。 目标 常见文本编码的转换GBK, Shift-JIS, UTF8, Unicode, ASCII)Web中常用的编码常见的加密算法(md5, sha1, HMAC, AES/DES, RSA) encoding/decoding 在官方的库中搜索一下 https://docs.rs/ 简单了解一下 吐槽一下rust官方的std库支持的太少了啥都要第三方库! 找起来参莠不齐这点体验不太好 [dependencies] encoding * # 各种字符编码 urlencoding * # url path 对有影响的字符进行编码 base64 * # base64的支持提供细节定制功能 rsa * # pcks1,pcks8的rsa支持还可以互相转换code use std::mem::size_of; use base64::Engine; use encoding::{all::{ASCII, EUC_JP, GB18030, GBK}, Encoding}; use base64::engine::general_purpose;fn main() {println!(\r\n1. Rust内部使用UTF-8编码, char类型用4个字节.);let a1 hello, 我是Andy!;println!(Bin: {:?}, a1.as_bytes());// 英文用1字符中文用3个emoji用4个.println!({}, len: {}, chars len: {}, a1, a1.len(), a1.chars().count());// char 是一个 Unicode 标量值, 是除 代理代码点(0xD800 到 0xDFFF) 之外的任何 Unicode 代码点。// 大小始终为四个字节. 范围 0 到 0x10FFF.println!(char size: {}, size_of::char());println!(\r\n2. rust str to ASCII,GBK,GB18030...);// https://zhuanlan.zhihu.com/p/453675608// 编码范围从小到大: ASCII(1) GB2312(2) GBK(2) GB18030(1-4)// UTF-8 to GBK, GB18030let b1 a 1 王 ;println!(Rust old: {:?}, b1.as_bytes());if let Ok(raw) ASCII.encode(b1, encoding::EncoderTrap::Ignore) {println!(ASCII: {:?}, raw); // 中文和emoji不能转换println!(ASCII Decode: {:?}, ASCII.decode(raw.as_slice(), encoding::DecoderTrap::Ignore));}if let Ok(raw) GBK.encode(b1, encoding::EncoderTrap::Ignore) {println!(GBK: {:?}, raw); // emoji不能转换println!(GBK Decode: {:?}, GBK.decode(raw.as_slice(), encoding::DecoderTrap::Ignore));}if let Ok(raw) GB18030.encode(b1, encoding::EncoderTrap::Strict) {println!(GB18030: {:?}, raw); // 全部都能转换println!(GB18030 Decode: {:?}, GB18030.decode(raw.as_slice(), encoding::DecoderTrap::Ignore));}// include Shift-JISif let Ok(raw) EUC_JP.encode(b1, encoding::EncoderTrap::Ignore) {println!(JP 932: {:?}, raw); // emoji不能转换println!(JP Decode: {:?}, EUC_JP.decode(raw.as_slice(), encoding::DecoderTrap::Ignore));}println!(\r\n3. url path encode and decode...);let c1 http://www.test.com/api/get?id123你好-;println!(url encode: {}, urlencoding::encode(c1)); // 所有可能影响url的字符都被编码了println!(url decode: {}, urlencoding::decode(%F0%9F%91%BE%20Exterminate%21).unwrap());println!(\r\n4. base64 encode and decode...);// 当输入长度不是 3 个字节的偶数倍时规范的 base64 编码器会在末尾插入填充字符以便输出 长度始终是 4 的倍数let d1 hello, 123, ?-_, 啊;let d1_1 general_purpose::STANDARD.encode(d1);let d1_2 general_purpose::STANDARD.decode(d1_1.clone()).unwrap();println!(base64 encode: {}, d1_1);println!(base64 decode: {}, String::from_utf8(d1_2).unwrap()); }加密和解密 https://zhuanlan.zhihu.com/p/347114235 目前没有比较全面的库有一个目标类似但是没有1.0的库https://docs.rs/cryptocol/latest/cryptocol/. 缺失的部分可以使用 https://docs.rs/rsa/latest/rsa/ 非对称加密 use cryptocol::hash::{MD5, SHA1};fn main() {println!(\r\n1. md5);let e1 some thing what can be any thing!;let mut md5 MD5::new();md5.digest_str(e1);println!(MD5 : {} - {:?}, md5.get_hash_value_in_string(), md5.get_hash_value_in_vec());md5.ruminate_str(2, e1); // 双重md5println!(MD5*2: {} - {:?}, md5.get_hash_value_in_string(), md5.get_hash_value_in_vec());println!(\r\n2. sha1);let mut sha1 SHA1::new();sha1.digest_str(e1);println!(sha1 : {} - {:?}, sha1.get_hash_value_in_string(), sha1.get_hash_value_in_vec());sha1.ruminate_str(2, e1); // 双重sha1println!(sha1*2: {} - {:?}, sha1.get_hash_value_in_string(), sha1.get_hash_value_in_vec()); }RSA use rsa::{ pkcs8::{DecodePublicKey, EncodePublicKey}, RsaPublicKey};fn main() {println!(\r\n1. RSA pkcs8 public key for pem);let pem -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtsQsUV8QpqrygsY2JC Q6Fw8/omM71IM2N/R8pPbzbgOl0p78MZGsgPOQ2HSznjD0FPzsH8oO2B5Uftws04 LHb2HJAYlz25lN5cqfHAfa3fgmC38FfwBkn7l582UtPWZ/wcBOnyCgb3yLcvJrX yrt8QxHJgvWO23ITrUVYszImbXQ67YGS0YhMrbixRzmo2tpm3JcIBtnHrEUMsT0N fFdfsZhTT8YbxBvA8FdODgEwx7u/vf3J9qbi4Kv8cvqyJuleIRSjVXPsIMnoejI n04APPKIjpMyQdnWlby7rNyQtE4CVjcFjqJbE/Xilcvqxt6DirjFCvYeKYl1uH LwIDAQAB -----END PUBLIC KEY-----;let public_key RsaPublicKey::from_public_key_pem(pem).unwrap();println!(Public Key: {:?}, public_key);let pem2 RsaPublicKey::to_public_key_pem(public_key, rsa::pkcs8::LineEnding::CRLF).unwrap();println!(Public Key pem: {}, pem2); // 与pem相同// 公钥和私钥互相可解密对方加密的数据// 公钥是可以通过私钥生成的所以公布了私钥很危险但是公布公钥没问题// https://www.cnblogs.com/Dogwei/p/13412976.html }
http://www.w-s-a.com/news/9491/

相关文章:

  • 二手市场网站建设的目的长沙ui设计公司
  • 微信公众号做留言网站wordpress详情页选择模板
  • php网站开发面向对象教程如何做分享赚钱的网站
  • 山东网站建设最便宜常州网站建站公司
  • 网站地图 seo中国建设招标网是私人网站吗
  • 高中作文网站全网营销有哪些平台
  • 网站构建建设制作平台上海搬家公司收费价目表
  • 成功案例展示网站做网站赚多少钱
  • 建设银行网站用什么字体网站建站后维护需要做哪些
  • 有哪些做平面设计好素材网站有哪些开网站建设
  • 国际交流网站平台有哪些筑建网
  • 网站程序是如何开发的江门市住房建设管理局网站
  • 网站建设一般需要几个步骤昵图网免费素材
  • 个人网站建设需求说明书微信域名防封在线生成
  • 专业网站建设的公司wordpress后台没有模板
  • 哈尔滨网站运营服务商制作外贸网站公司
  • 个人网站需要备案宁波网站推广工具
  • 苏州建设银行网站首页wordpress修改密码
  • 网站建设员工技能要求网站制作简单协议
  • 没有ipc备案的网站wordpress isux主题
  • 清远做网站电子商务网站建设需要的语言及特点6
  • 万州那家做网站c语言基础知识入门
  • 齐河网站建设公司价格网站建设包括什么
  • 论坛网站开发费用怎么把文件放到网站的根目录
  • 海南省零售户电商网站官渡区住房和城乡建设局网站
  • 怎么找淘宝客网站最新军事战况
  • 缺乏门户网站建设网页设计与制作项目教程第二版
  • 手机网站横竖屏一般做建设的是什么公司
  • 免费网站建设无广告网站开发 华景新城
  • 湖州网站制作报价西安网站开发有哪些公司