{"id":6093,"date":"2024-07-02T00:01:12","date_gmt":"2024-07-01T15:01:12","guid":{"rendered":"https:\/\/taitan916.info\/blog\/?p=6093"},"modified":"2024-07-01T23:54:28","modified_gmt":"2024-07-01T14:54:28","slug":"post-6093","status":"publish","type":"post","link":"https:\/\/taitan916.info\/blog\/archives\/6093","title":{"rendered":"JavaScript\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u300ccrypto-js\u300d\u3092\u4f7f\u7528\u3057\u3066\u6697\u53f7\u5316\u30fb\u5fa9\u53f7\u5316\u30fb\u30cf\u30c3\u30b7\u30e5\u5316\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"<p>JavaScript\u306b\u3066Cookie\u7b49\u306b\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b\u969b\u306b\u6697\u53f7\u5316\u3057\u305f\u3082\u306e\u3092\u4fdd\u5b58\u3057\u305f\u304b\u3063\u305f\u3002\u307e\u305f\u3001Cookie\u304b\u3089\u53d6\u308a\u51fa\u3057\u3066\u5229\u7528\u3059\u308b\u969b\u306b\u306f\u5fa9\u53f7\u5316\u3055\u305b\u305f\u304b\u3063\u305f\u3002\u300ccrypto-js\u300d\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u5b9f\u88c5\u3067\u304d\u308b\u6a21\u69d8\u3002\u3064\u3044\u3067\u306b\u30cf\u30c3\u30b7\u30e5\u5316\u3082\u3067\u304d\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u6697\u53f7\u30fb\u5fa9\u53f7\u5316\u3068\u3042\u308f\u305b\u3066\u305d\u308c\u305e\u308c\u5b9f\u88c5\u65b9\u6cd5\u3092\u30e1\u30e2\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2>crypto-js<\/h2>\n<h3>GitHub<\/h3>\n<p><a href=\"https:\/\/github.com\/brix\/crypto-js\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/brix\/crypto-js<\/a><\/p>\n<h3>CDN<\/h3>\n<p>CDN\u3067\u4f7f\u3046\u5834\u5408\u306f\u4ee5\u4e0b\u3092\u8a18\u8ff0\u3059\u308b\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/crypto-js\/4.2.0\/crypto-js.min.js\"&gt;&lt;\/script&gt;<\/pre>\n<p>\u7570\u306a\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u305f\u3044\u5834\u5408\u306f\u4ee5\u4e0b\u304b\u3089\u63a2\u3059\u3002<\/p>\n<p><a href=\"https:\/\/cdnjs.com\/libraries\/crypto-js\" target=\"_blank\" rel=\"noopener\">https:\/\/cdnjs.com\/libraries\/crypto-js<\/a><\/p>\n<p>&nbsp;<\/p>\n<h2><span id=\"i-3\">\u5229\u7528\u65b9\u6cd5<\/span><\/h2>\n<h3>\u5909\u6570\u306e\u6697\u53f7\u5316\u30fb\u5fa9\u53f7\u5316<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const pass = 'testpass';\r\nconst key = 'key';\r\n\r\n\/\/\u6697\u53f7\u5316\r\nconst encrypt = CryptoJS.AES.encrypt(pass, key).toString();\r\nconsole.log(encrypt); \/\/U2FsdGVkX195kzP1KMjcumMaKUOIWPjpva0nymmb5A8=\r\n\r\n\/\/\u5fa9\u53f7\u5316\r\nconst decrypt = CryptoJS.AES.decrypt(encrypt, key).toString(CryptoJS.enc.Utf8);\r\nconsole.log(decrypt); \/\/testpass<\/pre>\n<h3>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u6697\u53f7\u5316\u30fb\u5fa9\u53f7\u5316<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const obj = {name : '\u9234\u6728', age : 20};\r\nconst key = 'key';\r\n\r\n\/\/\u6697\u53f7\u5316\r\nconst encrypt = CryptoJS.AES.encrypt(JSON.stringify(obj), key).toString();\r\nconsole.log(encrypt); \/\/U2FsdGVkX18LG267ajuryepk0ZKmHbbW\/s5WAoKzXFRYecrSryj7Re\/Sz+LvGLF6\r\n\r\n\/\/\u5fa9\u53f7\u5316\r\nconst decrypt = JSON.parse(CryptoJS.AES.decrypt(encrypt, key).toString(CryptoJS.enc.Utf8));\r\nconsole.log(decrypt); \/\/Object { name: \"\u9234\u6728\", age: 20 }<\/pre>\n<h3>\u30cf\u30c3\u30b7\u30e5\u5316<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">const pass = 'testpass';\r\n\r\n\/\/\u30cf\u30c3\u30b7\u30e5\u5316\r\nconst hash = CryptoJS.SHA256(pass).toString();\r\nconsole.log(hash); \/\/13d249f2cb4127b40cfa757866850278793f814ded3c587fe5889e889a7a9f6c<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u5b9f\u7528\u4f8b<\/h2>\n<p>\u672c\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u5b9f\u7528\u4f8b\u3068\u3057\u3066<a href=\"https:\/\/taitan916.info\/tool\/htpasswd\/\" target=\"_blank\" rel=\"noopener\">htpasswd\u751f\u6210\u30da\u30fc\u30b8<\/a>\u3092\u4f5c\u6210\u3057\u305f\u3002\u5185\u5bb9\u3068\u3057\u3066\u306fSHA-1\u3067\u6697\u53f7\u5316\u3057\u305f\u3082\u306e\u3092Base64\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b\u3068\u3044\u3046\u3082\u306e\u306b\u306a\u308b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript\u306b\u3066Cookie\u7b49\u306b\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b\u969b\u306b\u6697\u53f7\u5316\u3057\u305f\u3082\u306e\u3092\u4fdd\u5b58 ... <\/p>\n","protected":false},"author":1,"featured_media":1067,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[100],"class_list":["post-6093","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-library"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/6093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/comments?post=6093"}],"version-history":[{"count":3,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/6093\/revisions"}],"predecessor-version":[{"id":6437,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/6093\/revisions\/6437"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/media\/1067"}],"wp:attachment":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/media?parent=6093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/categories?post=6093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/tags?post=6093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}