// // CSCheckSum.m // Gandalf // // Created by Colin Cornaby on Sat Feb 15 2003. // Copyright (c) 2003 Carpe Stellarem. All rights reserved. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #import "CSCheckSum.h" #include "openssl/sha.h" @implementation CSCheckSum +(NSData *)hashForFile:(NSString *)theFile{ NSData *theData = [[NSData alloc] initWithContentsOfFile:theFile]; unsigned long byteCountOfData = [theData length]; unsigned char hash[SHA_DIGEST_LENGTH]; [theData autorelease]; return [NSData dataWithBytes:SHA1([theData bytes], byteCountOfData, hash) length:SHA_DIGEST_LENGTH]; } +(NSData *)hashForData:(NSData *)theData{ unsigned long byteCountOfData = [theData length]; unsigned char hash[SHA_DIGEST_LENGTH]; return [NSData dataWithBytes:SHA1([theData bytes], byteCountOfData, hash) length:SHA_DIGEST_LENGTH]; } @end