当我发现它仅适用于Linux时,我正在研究Valgrind以帮助改进我的C编码/调试 - 我没有其他需要或兴趣将我的操作系统转移到Linux所以我想知道是否有一个同样好的Windows程序.
我写了(正在写)一个程序来分析加密文本并尝试使用频率分析来分析和破解它.
加密文本采用每个字母的形式替换一些其他字母即.a-> m,b-> z,c-> t等等.删除所有空格和非alpha字符,并将大写字母设为小写字母.
一个例子是:
原始输入 - thisisasamplemessageitonlycontainslowercaseletters 加密输出 - ziololqlqdhstdtllqutozgfsnegfzqoflsgvtkeqltstzztkl
尝试破解 - omieieaeanuhtnteeawtiorshylrsoaisehrctdlaethtootde
这里只有正确的I,A和Y.
目前,我的程序通过分析每个字符的频率,并将其映射到非加密文本中出现在相同频率等级中的字符来破解它.
我正在寻找方法和方法来提高我的程序的准确性,因为我没有得到太多的字符.例如,当试图从Pride和Prejudice中破解X个字符时,我得到:
1600 - 10个字母正确
800 - 7个字母正确
400 - 2个字母正确
200 - 3个字母正确
100 - 3个字母正确.
我使用罗密欧与朱丽叶作为获取频率数据的基础.
有人建议给我看,并使用字符对的频率,但我不确定如何使用这是因为,除非我使用非常大的加密文本我能想象一个类似的方法来我过得怎么样单个字符甚至会比成功更不准确并导致更多错误.我希望也能让我的加密破解者更准确地用于更短的"输入".
我试图比较两个矢量对象,并返回一个包含出现在两个向量中的所有字符的向量.
如果不编写一些非常复杂的手动方法,我将如何解决这个问题,该方法将第一个向量中的每个字符与第二个向量中的每个字符进行比较,并使用if将其添加到第三个向量(如果它们匹配则将返回).
也许我缺乏对矢量的真实经验让我想象这将比实际更难,但我怀疑有一些我通过搜索无法找到的简单方法.
我正在寻找一种类似于inotify方法的解决方案,用于观察文件的变化.我知道我可以看到mysql数据库的binlog文件并运行查询来挑选出新的结果,但这看起来非常低效且不优雅; 就像在循环中大量查询等待新结果一样.
基本上我想要实现的是托管一个CSV文件,我的应用程序将检索并使用该文件作为填充某些表的数据源.CSV将使用最新数据进行更新,我设想应用程序每隔一段时间就会获得最新版本,以确保其中的数据是最新的.
我的问题在于是否可以确保此远程CSV资源仅供我的应用程序使用?
据推测,如果我只是在计划URL上获取CSV的位置,这可能会被嗅探并被其他人使用.我不知道如何限制对它的访问,因为用户几乎可以从任何连接使用该应用程序.
如果我对文件使用某种加密,如果有人反编译了java apk文件,解密密钥是否会被暴露?
有没有其他方法可以确保我的csv数据源仅供我的应用程序使用?
谢谢
(我使用CSV是因为数据不是很复杂,并且不保证数据库,我在使用数据库时已经阅读了一些关于此问题的App-> webservice->数据库方法)
我遇到了一些麻烦.
我正在读一些文字并试图从中提取价格.我很好,但我正在尝试编写一些代码来确定文本中符号的货币名称,if语句类似于这些
if ($curr eq "\$"){
print CURRENCY "Currency: Dollars($curr)\n";
}
else {if($curr eq "£"){
print CURRENCY "Currency: Pounds($curr)\n";
}
else {if($curr eq "€"){
print CURRENCY "Currency: Euros($curr)\n";
}
Run Code Online (Sandbox Code Playgroud)
现在这适用于$(必须明显地转义),但不适用于英镑符号或欧元符号.我认为这与Unicode编码有关,或类似于我试图谷歌提出的问题,但我找不到任何帮助.我想知道是否有人可以帮助我!
我从命令行运行编译的java代码时遇到一些问题.我已经编写了它并使用IntelliJ IDE编译它(如果在IDE中完成,一切运行正常),但希望现在从命令行运行它.
从命令编译(使用javac)也可以正常工作,但运行(使用java)则不行.
我几乎可以肯定这是一个类路径问题,但似乎无法解决它.从我在发布之前的搜索中我发现了一个帖子告诉我运行"set PATH = \%PATH \%;"C:\ Program Files\Java\jdk1.6.0_21\bin"命令,然后尝试运行java.我我也尝试过为-cp和-classpath找到的各种争论.错误是:
Exception in thread "main" java.lang.NoClassDefFoundError: Share/class
Caused by: java.lang.ClassNotFoundException: Share.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Share.class. Program will exit.
Run Code Online (Sandbox Code Playgroud) 我是初学程序员,我正在学习我的第一语言,C.
我主要从Deitel和Deitel的C How to Program一书中学习,但也使用了大学的示例任务和事情,但是我被困在一个.
我对指针有一个非常基本的理解 - 在变量前添加&使得它打印一个地址,*使用指针来使用存储在该地址的值等.
我编写的这段代码用于计算两个数字的最大(最大?)公分母,实际上并不需要或涉及指针.它使用两个函数,逻辑是正确的,因为如果我从第二个函数执行它,它会打印出正确的屏幕答案,而不是将它返回到main.这就是问题所在.
当第二个函数返回答案值时,由于某种原因它返回我只能假设的指针.我不知道为什么会这样做.我将能够使用它并将其转换为查找值 - 但它似乎是第二个函数的本地指针并被写入.网上没有我能找到或在我的书中的任何内容让我知道如何解决问题.
谢谢,如果你已经读到这么远了.我太过漫无边际了.
这是我的代码和输出.任何帮助或指针(借口双关语)将不胜感激.我知道我可以在第二个函数中打印它,但我更愿意知道它是如何以及为什么它不会像我希望的那样返回值.
码
#include <stdio.h>
int greatestCD (int num1, int num2);
int main(void)
{
int a=0, b=0;
int result;
printf("Please enter two numbers to calculate the greatest common denominator from\n");
scanf("%d%d", &a, &b);
result = greatestCD (a,b);
printf("Using the correct in main way:\nThe greatest common denominator of %d and %d is %d\n",a,b, result);
}
int greatestCD (int num1 ,int num2)
{
if (num2==0){
printf("Using the cheaty in gcd …
Run Code Online (Sandbox Code Playgroud) 我需要在Perl中查看多个文件,我使用的是Linux :: Inotify2.但是我遇到了一个问题,即被监视的第一个文件需要被修改和命中,然后是第二个,然后是第一个等等
例如,如果第二个文件在第一个文件之前被更改,则它不会被触发,或者如果第一个文件连续两次被触发而没有第二个文件被触发.
这是我正在使用的具有此问题的代码部分.
my $inotify = new Linux::Inotify2;
my $inotify2 = new Linux::Inotify2;
$inotify->watch ("/tmp/rules.txt", IN_MODIFY);
$inotify2->watch ("/tmp/csvrules.out", IN_MODIFY);
while () {
my @events = $inotify->read;
unless (@events > 0){
print "read error: $!";
last ;
}
foreach $mask (@events) {
printf "mask\t%d\n", $mask;
open (WWWRULES, "/tmp/rules.txt");
my @lines = <WWWRULES>;
foreach $line (@lines) {
@things = split(/,/, $line);
addrule(@things[0], @things[1], @things[2], @things[3], trim(@things[4]));
print "PRINTING: @things[0], @things[1], @things[2], @things[3], @things[4]";
close (WWWRULES);
open (WWWRULES, ">/tmp/rules.txt"); …
Run Code Online (Sandbox Code Playgroud) 我假设我需要使用Connector\J和JDBC来实现这一点,但我似乎无法使用CLASSPATH来"安装"Connector\J. 我怎么做 ?如果相关,我使用IntelliJ IDE.
我正在寻找一种与mysql数据库通信的方法,并执行并打印出一些基本的查询,但我没有到达任何地方,因为我甚至无法与数据库交谈.
任何帮助表示赞赏.
我所处的情况是我编写了一个perl脚本,该脚本使用CPAN库XML :: Simple,并在能够安装必要的CPAN库的环境中进行测试.
但是,必须运行脚本的环境没有安装CPAN库的权限.我想知道是否有一些手动方式将Simple.pm文件包含在我的脚本中并将其包含在带脚本的目录中?我尝试过使用'use'和'require'无济于事.
任何帮助是极大的赞赏.
编辑:我能够通过手动下载Simple.pm文件并使用行require"Simple.pm"解决问题; 在我的代码中.我想当我尝试这个时,我必须以某种方式下载不正确的文件.谢谢.