首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSA加密/解密

RSA加密/解密
EN

Stack Overflow用户
提问于 2016-04-03 14:59:14
回答 1查看 822关注 0票数 0

我正在尝试用c程序实现rsa算法。它在大多数cases.But中运行良好,在某些情况下,它不加密,并再次解密回相同的stage.for示例:"--“之后加密和解密更改为"ƒƒ”这里是加密和解密的代码。如果能帮上忙,我们将不胜感激。提前感谢

代码语言:javascript
复制
void encrypt(uChar state[16])
{
    long int pt,ct,key=e[0],k;
    i=0;
    while(i<=16)
    {
        pt=state[i];
        pt=pt-96;
        k=1;
        for (j=0;j<key;j++)
        {
            k=k*pt;
            k=k%n;
        }
    ct=k+96;
    state[i]=ct;
    i++;
    }
}

void decrypt(uChar state[16])
{
    long int pt,ct,key=d[0],k;
    i=0;
    while(i<=16)
    {
        ct=state[i]-96;
        k=1;
        for (j=0;j<key;j++)
        {
            k=k*ct;
            k=k%n;
        }
        pt=k+96;
        state[i]=pt;
        i++;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-04-03 15:12:30

使用在数组边界之外进行索引

代码语言:javascript
复制
while(i<=16)

您只能将state[16]索引到15,因此(在这两个函数中)应该是

代码语言:javascript
复制
while(i < 16)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36382514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档