[CryptManager] Added SHA1File Lua binding.
This commit is contained in:
@@ -8,6 +8,10 @@ ________________________________________________________________________________
|
|||||||
StepMania 5.0 $NEXT | 20110xyy
|
StepMania 5.0 $NEXT | 20110xyy
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2011/05/20
|
||||||
|
----------
|
||||||
|
* [CryptManager] Added SHA1File Lua binding. [AJ]
|
||||||
|
|
||||||
2011/05/19
|
2011/05/19
|
||||||
----------
|
----------
|
||||||
* [BPMDisplay] Add CourseCycleSpeed metric. [AJ]
|
* [BPMDisplay] Add CourseCycleSpeed metric. [AJ]
|
||||||
|
|||||||
@@ -404,6 +404,23 @@ RString CryptManager::GetSHA1ForString( RString sData )
|
|||||||
return RString( (const char *) digest, sizeof(digest) );
|
return RString( (const char *) digest, sizeof(digest) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RString CryptManager::GetSHA1ForFile( RString fn )
|
||||||
|
{
|
||||||
|
RageFile file;
|
||||||
|
if( !file.Open( fn, RageFile::READ ) )
|
||||||
|
{
|
||||||
|
LOG->Warn( "GetSHA1: Failed to open file '%s'", fn.c_str() );
|
||||||
|
return RString();
|
||||||
|
}
|
||||||
|
int iHash = register_hash( &sha1_desc );
|
||||||
|
ASSERT( iHash >= 0 );
|
||||||
|
|
||||||
|
unsigned char digest[20];
|
||||||
|
HashFile( file, digest, iHash );
|
||||||
|
|
||||||
|
return RString( (const char *) digest, sizeof(digest) );
|
||||||
|
}
|
||||||
|
|
||||||
RString CryptManager::GetPublicKeyFileName()
|
RString CryptManager::GetPublicKeyFileName()
|
||||||
{
|
{
|
||||||
return PUBLIC_KEY_PATH;
|
return PUBLIC_KEY_PATH;
|
||||||
@@ -455,12 +472,20 @@ public:
|
|||||||
lua_pushstring( L, sha1out );
|
lua_pushstring( L, sha1out );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
static int SHA1File( T* p, lua_State *L )
|
||||||
|
{
|
||||||
|
RString sha1fout;
|
||||||
|
sha1fout = p->GetSHA1ForFile(SArg(1));
|
||||||
|
lua_pushstring( L, sha1fout );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
LunaCryptManager()
|
LunaCryptManager()
|
||||||
{
|
{
|
||||||
ADD_METHOD( MD5String );
|
ADD_METHOD( MD5String );
|
||||||
ADD_METHOD( MD5File );
|
ADD_METHOD( MD5File );
|
||||||
ADD_METHOD( SHA1String );
|
ADD_METHOD( SHA1String );
|
||||||
|
ADD_METHOD( SHA1File );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public:
|
|||||||
static RString GetMD5ForFile( RString fn ); // in binary
|
static RString GetMD5ForFile( RString fn ); // in binary
|
||||||
static RString GetMD5ForString( RString sData ); // in binary
|
static RString GetMD5ForString( RString sData ); // in binary
|
||||||
static RString GetSHA1ForString( RString sData ); // in binary
|
static RString GetSHA1ForString( RString sData ); // in binary
|
||||||
|
static RString GetSHA1ForFile( RString fn ); // in binary
|
||||||
|
|
||||||
static RString GetPublicKeyFileName();
|
static RString GetPublicKeyFileName();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user