前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

S-DES

作者头像
gojam
发布2019-10-16 11:28:37
1.1K0
发布2019-10-16 11:28:37
举报

生成密钥

//S-DES 第一部分 生成密钥
let secretKey = "0111111101";
const p10=[2, 4, 1, 6, 3, 9, 0, 8, 7, 5];
const p8 = [5, 2, 6, 3, 7, 4, 9, 8];

const substituteMaker = (translate) => {
    //生成置换函数
    return (key) => {
        let res = [];
        for (let i = 0; i < translate.length; i++) {
            res.push(key[translate[i]]);
        }
        return res.join('');
    }


}

secretKey = substituteMaker(p10)(secretKey);

const l1 = (key,count=1) => {
    let keyArr = key.split('');
    let l = keyArr.slice(0, 5);//不包括end
    let r = keyArr.slice(5, 10);
    for(let i=0;i<count;i++){
        l.push(l.shift());
        r.push(r.shift());
    }
    return l.concat(r).join('');
}

secretKey = l1(secretKey)



const key1 = substituteMaker(p8)(secretKey);
console.log('key1',key1);

secretKey = l1(secretKey,2)

const key2 = substituteMaker(p8)(secretKey);
console.log('key2',key2);

//key1 01011111
//key2 11111100



//S-DES 第二部分 加密
const cipherText="10100010";
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年10月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生成密钥
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档