npm install crypto-js
import CryptoJS from 'crypto-js'
const encrypted = CryptoJS.DES.encrypt("Message", "Secret Passphrase")
const decrypted = CryptoJS.DES.decrypt(encrypted, "Secret Passphrase"")
const encrypted = CryptoJS.TripleDES.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.TripleDES.decrypt(encrypted, "Secret Passphrase");
const encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
const hash = CryptoJS.MD5("Message");
const hash = CryptoJS.SHA1("Message");
const hash = CryptoJS.SHA256("Message");
const hash = CryptoJS.SHA512("Message");
const hash = CryptoJS.SHA3("Message");
const hash = CryptoJS.SHA3("Message", { outputLength: 512 });
const hash = CryptoJS.SHA3("Message", { outputLength: 384 });
const hash = CryptoJS.SHA3("Message", { outputLength: 256 });
const hash = CryptoJS.SHA3("Message", { outputLength: 224 });
const hash = CryptoJS.RIPEMD160("Message");
const hash = CryptoJS.HmacMD5("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA1("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA256("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA512("Message", "Secret Passphrase");
const salt = CryptoJS.lib.WordArray.random(128 / 8);
const key128Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 128 / 32
});
const key256Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 256 / 32
});
const key512Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 512 / 32
});
const key512Bits1000Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 512 / 32,
iterations: 1000
});
const encrypted = CryptoJS.Rabbit.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.Rabbit.decrypt(encrypted, "Secret Passphrase");
const encrypted = CryptoJS.RC4.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.RC4.decrypt(encrypted, "Secret Passphrase");
var encrypted = CryptoJS.RC4Drop.encrypt("Message", "Secret Passphrase");
var encrypted = CryptoJS.RC4Drop.encrypt("Message", "Secret Passphrase", {
drop: 3072 / 4
});
var decrypted = CryptoJS.RC4Drop.decrypt(encrypted, "Secret Passphrase", {
drop: 3072 / 4
});
const words = CryptoJS.enc.Base64.parse("SGVsbG8sIFdvcmxkIQ==");
const base64 = CryptoJS.enc.Base64.stringify(words);
const words = CryptoJS.enc.Latin1.parse("Hello, World!");
const latin1 = CryptoJS.enc.Latin1.stringify(words);
const words = CryptoJS.enc.Hex.parse("48656c6c6f2c20576f726c6421");
const hex = CryptoJS.enc.Hex.stringify(words);
const words = CryptoJS.enc.Utf8.parse("");
const utf8 = CryptoJS.enc.Utf8.stringify(words);
const words = CryptoJS.enc.Utf16.parse("Hello, World!");
const utf16 = CryptoJS.enc.Utf16.stringify(words);
const words = CryptoJS.enc.Utf16LE.parse("Hello, World!");
const utf16 = CryptoJS.enc.Utf16LE.stringify(words);
import CryptoJS from "crypto-js";
// 암호키는 환경 변수로 넣는 것이 좋다.
const SECRETE_PHASE = 'secrete Phase'
// const SECRETE_PHASE = process.env.REACT_APP_SECRET_PHASE ;
// id, department, 이름, 년, 달 정보를 이용하여 암호화
export function encodeInfo(id, department, name){
let arr = [];
let encrypted = ''
const iskorean = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/;
arr[0] = id.toString()[0];
arr[1] = department.toString()[0]
//convert to UTF-8
if(iskorean.test(name)) encrypted= encodeURIComponent(name)
// console.log(encrypted)
//encode 된 값, AES 암호화
for(let i=0; i<(id%5)+1; i++){
encrypted = CryptoJS.AES.encrypt(encrypted, SECRETE_PHASE).toString()
}
// arr에 encrypted, depart[1]id[1] 값 추가
arr.push(encrypted)
arr.push(department.toString()[1])
arr.push(id.toString()[1])
encrypted = arr.join('')
return encrypted;
};
export function decodeinfo(key){
try{
let id = key[0]+ key[key.length-1];
let department = key[1]+ key[key.length-2];
let decrypted = key.slice(2,-2);
for(let i=0; i<(id%5)+1; i++){
decrypted = CryptoJS.AES.decrypt(decrypted, SECRETE_PHASE).toString(CryptoJS.enc.Utf8);
}
const result = {
id:id,
department:department,
name:decodeURIComponent(decrypted),
hashUrl: key
}
return result;
}catch(err){
throw err;
}
}
const test = encodeInfo(12,13,'박성호')
console.log(test)
console.log(decodeinfo(test))
/*
console.log(test)
11U2FsdGVkX1/thGRwMi3fLaOMIFQweAqNNKaLhHXhEmtlwb8P3omPRDtYZV28fI7dDUijjgt3BDexb/BeymJ5kOt/E+YMi+Et2S3Q9cQAsX4smfUrBrWeDd0u67UvrSO+MGMoUJmoZH7iju8UKYWMHKS5j7fUUjtSB8bhF8JDxo25pjn+wGkMojp/wtN/ofcThS8Vv5KeArsUQmQ1bkOAqQ==32
console.log(decodeinfo(test))
{
id: '12',
department: '13',
name: '박성호',
hashUrl: '11U2FsdGVkX1/thGRwMi3fLaOMIFQweAqNNKaLhHXhEmtlwb8P3omPRDtYZV28fI7dDUijjgt3BDexb/BeymJ5kOt/E+YMi+Et2S3Q9cQAsX4smfUrBrWeDd0u67UvrSO+MGMoUJmoZH7iju8UKYWMHKS5j7fUUjtSB8bhF8JDxo25pjn+wGkMojp/wtN/ofcThS8Vv5KeArsUQmQ1bkOAqQ==32'
}
*/
npm install crypto-js
import CryptoJS from 'crypto-js'
const encrypted = CryptoJS.DES.encrypt("Message", "Secret Passphrase")
const decrypted = CryptoJS.DES.decrypt(encrypted, "Secret Passphrase"")
const encrypted = CryptoJS.TripleDES.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.TripleDES.decrypt(encrypted, "Secret Passphrase");
const encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
const hash = CryptoJS.MD5("Message");
const hash = CryptoJS.SHA1("Message");
const hash = CryptoJS.SHA256("Message");
const hash = CryptoJS.SHA512("Message");
const hash = CryptoJS.SHA3("Message");
const hash = CryptoJS.SHA3("Message", { outputLength: 512 });
const hash = CryptoJS.SHA3("Message", { outputLength: 384 });
const hash = CryptoJS.SHA3("Message", { outputLength: 256 });
const hash = CryptoJS.SHA3("Message", { outputLength: 224 });
const hash = CryptoJS.RIPEMD160("Message");
const hash = CryptoJS.HmacMD5("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA1("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA256("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA512("Message", "Secret Passphrase");
const salt = CryptoJS.lib.WordArray.random(128 / 8);
const key128Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 128 / 32
});
const key256Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 256 / 32
});
const key512Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 512 / 32
});
const key512Bits1000Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 512 / 32,
iterations: 1000
});
const encrypted = CryptoJS.Rabbit.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.Rabbit.decrypt(encrypted, "Secret Passphrase");
const encrypted = CryptoJS.RC4.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.RC4.decrypt(encrypted, "Secret Passphrase");
var encrypted = CryptoJS.RC4Drop.encrypt("Message", "Secret Passphrase");
var encrypted = CryptoJS.RC4Drop.encrypt("Message", "Secret Passphrase", {
drop: 3072 / 4
});
var decrypted = CryptoJS.RC4Drop.decrypt(encrypted, "Secret Passphrase", {
drop: 3072 / 4
});
const words = CryptoJS.enc.Base64.parse("SGVsbG8sIFdvcmxkIQ==");
const base64 = CryptoJS.enc.Base64.stringify(words);
const words = CryptoJS.enc.Latin1.parse("Hello, World!");
const latin1 = CryptoJS.enc.Latin1.stringify(words);
const words = CryptoJS.enc.Hex.parse("48656c6c6f2c20576f726c6421");
const hex = CryptoJS.enc.Hex.stringify(words);
const words = CryptoJS.enc.Utf8.parse("");
const utf8 = CryptoJS.enc.Utf8.stringify(words);
const words = CryptoJS.enc.Utf16.parse("Hello, World!");
const utf16 = CryptoJS.enc.Utf16.stringify(words);
const words = CryptoJS.enc.Utf16LE.parse("Hello, World!");
const utf16 = CryptoJS.enc.Utf16LE.stringify(words);
import CryptoJS from "crypto-js";
// 암호키는 환경 변수로 넣는 것이 좋다.
const SECRETE_PHASE = 'secrete Phase'
// const SECRETE_PHASE = process.env.REACT_APP_SECRET_PHASE ;
// id, department, 이름, 년, 달 정보를 이용하여 암호화
export function encodeInfo(id, department, name){
let arr = [];
let encrypted = ''
const iskorean = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/;
arr[0] = id.toString()[0];
arr[1] = department.toString()[0]
//convert to UTF-8
if(iskorean.test(name)) encrypted= encodeURIComponent(name)
// console.log(encrypted)
//encode 된 값, AES 암호화
for(let i=0; i<(id%5)+1; i++){
encrypted = CryptoJS.AES.encrypt(encrypted, SECRETE_PHASE).toString()
}
// arr에 encrypted, depart[1]id[1] 값 추가
arr.push(encrypted)
arr.push(department.toString()[1])
arr.push(id.toString()[1])
encrypted = arr.join('')
return encrypted;
};
export function decodeinfo(key){
try{
let id = key[0]+ key[key.length-1];
let department = key[1]+ key[key.length-2];
let decrypted = key.slice(2,-2);
for(let i=0; i<(id%5)+1; i++){
decrypted = CryptoJS.AES.decrypt(decrypted, SECRETE_PHASE).toString(CryptoJS.enc.Utf8);
}
const result = {
id:id,
department:department,
name:decodeURIComponent(decrypted),
hashUrl: key
}
return result;
}catch(err){
throw err;
}
}
const test = encodeInfo(12,13,'박성호')
console.log(test)
console.log(decodeinfo(test))
/*
console.log(test)
11U2FsdGVkX1/thGRwMi3fLaOMIFQweAqNNKaLhHXhEmtlwb8P3omPRDtYZV28fI7dDUijjgt3BDexb/BeymJ5kOt/E+YMi+Et2S3Q9cQAsX4smfUrBrWeDd0u67UvrSO+MGMoUJmoZH7iju8UKYWMHKS5j7fUUjtSB8bhF8JDxo25pjn+wGkMojp/wtN/ofcThS8Vv5KeArsUQmQ1bkOAqQ==32
console.log(decodeinfo(test))
{
id: '12',
department: '13',
name: '박성호',
hashUrl: '11U2FsdGVkX1/thGRwMi3fLaOMIFQweAqNNKaLhHXhEmtlwb8P3omPRDtYZV28fI7dDUijjgt3BDexb/BeymJ5kOt/E+YMi+Et2S3Q9cQAsX4smfUrBrWeDd0u67UvrSO+MGMoUJmoZH7iju8UKYWMHKS5j7fUUjtSB8bhF8JDxo25pjn+wGkMojp/wtN/ofcThS8Vv5KeArsUQmQ1bkOAqQ==32'
}
*/
npm install crypto-js
import CryptoJS from 'crypto-js'
const encrypted = CryptoJS.DES.encrypt("Message", "Secret Passphrase")
const decrypted = CryptoJS.DES.decrypt(encrypted, "Secret Passphrase"")
const encrypted = CryptoJS.TripleDES.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.TripleDES.decrypt(encrypted, "Secret Passphrase");
const encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
const hash = CryptoJS.MD5("Message");
const hash = CryptoJS.SHA1("Message");
const hash = CryptoJS.SHA256("Message");
const hash = CryptoJS.SHA512("Message");
const hash = CryptoJS.SHA3("Message");
const hash = CryptoJS.SHA3("Message", { outputLength: 512 });
const hash = CryptoJS.SHA3("Message", { outputLength: 384 });
const hash = CryptoJS.SHA3("Message", { outputLength: 256 });
const hash = CryptoJS.SHA3("Message", { outputLength: 224 });
const hash = CryptoJS.RIPEMD160("Message");
const hash = CryptoJS.HmacMD5("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA1("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA256("Message", "Secret Passphrase");
const hash = CryptoJS.HmacSHA512("Message", "Secret Passphrase");
const salt = CryptoJS.lib.WordArray.random(128 / 8);
const key128Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 128 / 32
});
const key256Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 256 / 32
});
const key512Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 512 / 32
});
const key512Bits1000Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, {
keySize: 512 / 32,
iterations: 1000
});
const encrypted = CryptoJS.Rabbit.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.Rabbit.decrypt(encrypted, "Secret Passphrase");
const encrypted = CryptoJS.RC4.encrypt("Message", "Secret Passphrase");
const decrypted = CryptoJS.RC4.decrypt(encrypted, "Secret Passphrase");
var encrypted = CryptoJS.RC4Drop.encrypt("Message", "Secret Passphrase");
var encrypted = CryptoJS.RC4Drop.encrypt("Message", "Secret Passphrase", {
drop: 3072 / 4
});
var decrypted = CryptoJS.RC4Drop.decrypt(encrypted, "Secret Passphrase", {
drop: 3072 / 4
});
const words = CryptoJS.enc.Base64.parse("SGVsbG8sIFdvcmxkIQ==");
const base64 = CryptoJS.enc.Base64.stringify(words);
const words = CryptoJS.enc.Latin1.parse("Hello, World!");
const latin1 = CryptoJS.enc.Latin1.stringify(words);
const words = CryptoJS.enc.Hex.parse("48656c6c6f2c20576f726c6421");
const hex = CryptoJS.enc.Hex.stringify(words);
const words = CryptoJS.enc.Utf8.parse("");
const utf8 = CryptoJS.enc.Utf8.stringify(words);
const words = CryptoJS.enc.Utf16.parse("Hello, World!");
const utf16 = CryptoJS.enc.Utf16.stringify(words);
const words = CryptoJS.enc.Utf16LE.parse("Hello, World!");
const utf16 = CryptoJS.enc.Utf16LE.stringify(words);
import CryptoJS from "crypto-js";
// 암호키는 환경 변수로 넣는 것이 좋다.
const SECRETE_PHASE = 'secrete Phase'
// const SECRETE_PHASE = process.env.REACT_APP_SECRET_PHASE ;
// id, department, 이름, 년, 달 정보를 이용하여 암호화
export function encodeInfo(id, department, name){
let arr = [];
let encrypted = ''
const iskorean = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/;
arr[0] = id.toString()[0];
arr[1] = department.toString()[0]
//convert to UTF-8
if(iskorean.test(name)) encrypted= encodeURIComponent(name)
// console.log(encrypted)
//encode 된 값, AES 암호화
for(let i=0; i<(id%5)+1; i++){
encrypted = CryptoJS.AES.encrypt(encrypted, SECRETE_PHASE).toString()
}
// arr에 encrypted, depart[1]id[1] 값 추가
arr.push(encrypted)
arr.push(department.toString()[1])
arr.push(id.toString()[1])
encrypted = arr.join('')
return encrypted;
};
export function decodeinfo(key){
try{
let id = key[0]+ key[key.length-1];
let department = key[1]+ key[key.length-2];
let decrypted = key.slice(2,-2);
for(let i=0; i<(id%5)+1; i++){
decrypted = CryptoJS.AES.decrypt(decrypted, SECRETE_PHASE).toString(CryptoJS.enc.Utf8);
}
const result = {
id:id,
department:department,
name:decodeURIComponent(decrypted),
hashUrl: key
}
return result;
}catch(err){
throw err;
}
}
const test = encodeInfo(12,13,'박성호')
console.log(test)
console.log(decodeinfo(test))
/*
console.log(test)
11U2FsdGVkX1/thGRwMi3fLaOMIFQweAqNNKaLhHXhEmtlwb8P3omPRDtYZV28fI7dDUijjgt3BDexb/BeymJ5kOt/E+YMi+Et2S3Q9cQAsX4smfUrBrWeDd0u67UvrSO+MGMoUJmoZH7iju8UKYWMHKS5j7fUUjtSB8bhF8JDxo25pjn+wGkMojp/wtN/ofcThS8Vv5KeArsUQmQ1bkOAqQ==32
console.log(decodeinfo(test))
{
id: '12',
department: '13',
name: '박성호',
hashUrl: '11U2FsdGVkX1/thGRwMi3fLaOMIFQweAqNNKaLhHXhEmtlwb8P3omPRDtYZV28fI7dDUijjgt3BDexb/BeymJ5kOt/E+YMi+Et2S3Q9cQAsX4smfUrBrWeDd0u67UvrSO+MGMoUJmoZH7iju8UKYWMHKS5j7fUUjtSB8bhF8JDxo25pjn+wGkMojp/wtN/ofcThS8Vv5KeArsUQmQ1bkOAqQ==32'
}
*/