我正在尝试将密码扰频器从 复制Javascript
到C
. 它的作用是获取字母的 ASCII 字符代码,将其放置,划分,然后从给定列表中抓取一个随机字符。
Javascript版本:
function getScrambledPassword(pwd) {
var cipher = ['k', 's', 'z', 'h', 'x', 'b', 'p', 'j', 'v', 'c', 'g', 'f', 'q', 'n', 't', 'm'];
var result="";
if (pwd == null)
pwd = "";
pwd = encodeURIComponent(pwd);
//alert("encoded password: " + pwd);
for(var i=0;i<pwd.length;i++) {
var cc = pwd.charCodeAt(i);
result += cipher[Math.floor(cc/16)] + cipher[cc%16];
}
//alert("scrambled password: " + result);
return result;
}
正在运行的加扰器示例:https ://jsfiddle.net/w5db66va/
到目前为止我所做的:
#include <stdio.h>
#include <math.h>
#include <string.h>
static char *scramblePassword(char *pwd)
{
char *cipher[] = {
"k", "s", "z", "h",
"x", "b", "p", "j",
"v", "c", "g", "f",
"q", "n", "t", "m"
};
char *result = "";
for(int i=0; i < strlen(pwd); i++)
{
int cc = (int) pwd[i];
printf("%d", cc);
result + cipher[floor(cc/16)] + cipher[cc%16];
}
return *result;
}
int main(void)
{
char *test[] = {"test", "testtwo", "testthree"};
for (int i=0;i < sizeof(test); i++)
{
printf("Original: %s", test[i]);
printf("Scrambled: %s", scramblePassword(test[i]));
}
}
我遇到的问题是,当我运行c
文件(编译后)时,它根本不会输出任何东西。我做错了什么以至于我无法让它像我期望的那样运行?